2010年11月5日 星期五

Homework1


原圖
-----------------------------------------------------------

彩色轉灰階
-----------------------------------------------------------

256色
-----------------------------------------------------------

128色
-----------------------------------------------------------

64色
-----------------------------------------------------------

32色
-----------------------------------------------------------


16色
-----------------------------------------------------------

8色
-----------------------------------------------------------


4色
---------------------------------------------------------------
2色
-------------------------------------------------------------------------------------
作業一: 將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。

2色是把彩色的圖片轉換成灰階格式,2色就是把255分成0~127和128~255分成黑白兩色。
4色是把0~255的灰階分成4個顏色去表示 黑 深灰 淺灰 和白色去表示,分成4個等分。
以此類推

我所遇到的瓶頸是在判斷灰階的range,剛開始以為幾個判斷式還OK,做到16色才發現不妙,還好經由老師的講解,原來可以把一大堆的判斷是簡化成用一個陣列,和3個變數來解決。這才是這個最重要的精隨阿.

HW01

原圖
灰階256色
灰階128色
灰階64色
灰階32色
灰階16色
灰階8色
灰階4色
灰階2色
在這次的作業中,基本上一開始的256色灰階是老師給出來的範例,而其他都是要自己做出來,不過只要理解他的程式碼是怎麼表達出來的就可以把各種灰階色彩都打出來,其中裡面最簡單的就是灰階2色,只要改一下256色的範圍一下子就出來了,好像不用浪費什麼力一樣,但是老師今天講的我覺得也滿有趣的,雖然跟我理解的方式不太一樣,至少可以讓我學到很多東西,也讓人產生很多想法,想像這些到底還可以以怎樣的方式呈現出來,想到這些就更有動力去研究這些東西了。








HW01

原圖

2色

4色

8色

16色

32色

64色

128色

256色

感想
在這次的作業中,發現了圖片在灰階中,由兩色到二五六色會因為顏色越多,圖片越清晰,越明亮,而在二色的圖片中看不出圖片到底是什麼東西,一開始打程式的時候,再算他的灰階色彩值的時候一開始用IF一直在寫,結果越寫越多手越酸,之後經過同學的方法把它改成FOR迴圈後就在不到10行之間輕鬆完成,讓我對寫程式的有了更深的感覺,寫程式不能埋頭苦幹,也要想想其他更簡便的方法讓程式簡短,又快,準確的達成城市的目的,而這次的作業中有很多很多的指令都是第一次見到的,因為以前用BCB都沒有在做圖片類的程式,但這次一做圖片,才發現BCB也是一個可以做圖片類的程式,而有好好多的指令都是第一次用到,因此常常用到錯誤的指令用法,導致一直都不能執行,而這次學到了很多,希望之後我可以把這些指令記得很熟,在之後還能把他們拿出來使用。

HW01

原圖















------------------------------------------------------------------
灰階256色














-------------------------------------------------------------------
灰階128色













---------------------------------------------------------------------
灰階64色














---------------------------------------------------------------------
灰階32色













---------------------------------------------------------------------------
灰階16色













------------------------------------------------------------------------
灰階8色













-----------------------------------------------------------------------------
灰階4色














------------------------------------------------------------------------------
灰階2色














------------------------------------------------------------------------------
這次作業,我一開始的想法就是去改調色盤,可是自己一直都寫不出來,網路上的程式碼也都是直接去判斷顏色的區間,不過再聽老師講之前,自己看網路上的程式碼總是不太瞭解,一開始上課,聽了老師講的概念,總覺得有了一些想法,不過我一開始還是繼續在思考怎麼改調色盤,最後實在沒有頭緒,只好直接用第二種放法的if去判斷顏色區間來做其他的灰階,我是覺得第二種方法比較容易瞭解,也比較有直覺去寫程式,快下課前聽了老師關於調色盤的講解,感覺稍微有了解怎麼改調色盤了,不過還是要實際上去寫寫看才能熟悉。
回到家後,我參考其他同學的程式碼,實際寫了一個利用調色盤來做灰階的方式,不過在2色灰階上出現了問題,雖然出來的結果也是兩種顏色,可是卻是黑色和灰色,而其它的圖的效果似乎也都比用if去判斷的要深色一些,顏色比較深的問題,我認為應該是因為使用矩陣的關係,所以小數點部分被捨去了,但是2色灰階的黑和灰兩色,我實在是找不出原因來,下次上課的時候想再問問看老師。

HW1

作業一: 將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。
原圖

















接下來是256----------------------------------------


















128----------------------------------------------
















64--------------------------------------------------
















32-----------------------------------------------















16----------------------------------------------------
















8-----------------------------------------------------
















4-----------------------------------------------------
















2-----------------------------------------------------
















前面那幾張圖,感覺並沒有太大的差別。不過當使用顏色越來越少表現就會越來越清楚的看出差異,剛開始寫的時候其實毫無頭緒,但與同學討論之後用For loop後卻只要寫個幾行就能完成,這次作業中有些指令都是第一次見到的,之前做BCB的時候都不太知道BCB也能做圖片相關的處理,而這次學到了很多,希望之後我可以把這些指令記熟,這樣才能學習靈活運用。

HW1

HW1題目:請把一張256顏色的圖片顯示出只剩4種顏色

第一種做法是把256色換成只有4種顏色

0-63使用同一種顏色;

64-127使用同一種顏色;

128-191使用同一種顏色;

192-255使用同一種顏色。

第二種作法是調色盤不變

索引值改掉的方式

譬如原本是第64種顏色

把它改成第85種顏色

而我現在使用的是以第一種做法來做出的結果:

彩色













256色












128色












64色












32色












16色












8色












4色












2色








前面幾張可以說是肉眼完全看不出來 = =

所以也不知道上傳的順序有沒有正確 :P

感覺主要都是BCB不太會用...

不知道哪個到底控制哪裡;哪裡是哪邊控制

之前光是調個ProgressBar

比對了半天同學跟自己的到底差在哪

結果根本一模一樣可是我的就是不動 - -"

程式部分還可以理解或是和同學討論出來