2010年11月5日 星期五

HW1

圖片:
原始圖片


   256色      128色 
  

    64色       32色


    16色        8色 
  

    4色         2色

心得:

  這次是影像處理課程的第一次作業,作業內容是將一張彩色的圖片轉換成灰階256色、128色、64色、32色、16色、8色、4色及2色,由於老師所給的範例中,已經有包含灰階256色的實作,因此實際上只要完成後敘七種灰階即可。

  所以這次作業實際上的內容,可以分成了解灰階256色運作的方式,及加以轉換成其他灰階這兩個步驟。

  首先,我第一步做的事情是,先去觀察老師範例所給的程式碼,先去了解哪些部分是填色,哪些部分是實際設值,只要能夠理解整段的意義,後面進行修改其實是很容易的一件事情。

  經過自己琢磨、與同學討論及詢問老師修正錯誤之後,我決定從填色的地方下手,因為我認為這部份是比較好處理的。

  於是我開始思考該如何將填色的區域進行分組,以達到減色的功用,最直觀的想法是直接使用if指令,這樣可以快速達到分組的效果,但是實際做起來會有一個非常明顯的缺點,就是程式碼看起來會很長,分成2色或4色時或許還沒有什麼感覺,但當製作128色時,這個缺點馬上就暴露出來了。

  所以我開始思考使用for迴圈的可能,經過幾次的嘗試之後,終於完成了使用for迴圈來進行填色的程式碼,想法並不複雜,只是單純的將if的判斷式用for迴圈的方式表現出來,於是這次作業的雛形大致上就完成了,經過幾次圖片的測試,確定沒有嚴重的bug或error,就開始進行圖片的擷取和思考心得該怎麼編寫,這次的作業大致上就算是完成了。

沒有留言:

張貼留言