這學期影像處理課程真的過得很充實,也學到了很多東西。
首先在學期剛開始時教了C++Builder的基本操作,雖然之前有用過C++Builder來寫過程式,但仍沒學過如何利用C++Builder來開啟或儲存圖檔和處理影像,所以一直都認為用C++Builder來處理影像是十分複雜且麻煩的,然而在這門課都一併學到了,而且也沒想像中的那麼難,只要透過OpenPictureDialog和SavePictureDialog元件就可以輕鬆地開檔及讀檔,然後再利用兩個for迴圈就可以簡單的處理影像。接著在這門課還學到了一些PhotoShop裡的一些影像處理的函數,包括影像調整(負片、灰階、均化、銳化、胡椒鹽化、中值化)、影像的色階和曲線調整,還有魔術棒……等程式的實作,這些程式完成後都覺得自己也可以寫出一套PhotoShop了。最後還學到了有關3D製作以及色彩模型相關的東西。
當然在學習過程中仍有遇到一些問題和比較可惜的事情,例如:第一個遇到的問題是以前看別人或自己用C++Builder來寫影像的程式都是用Image->Canvas->Pixels[i][j]來取到像素點再做讀取或處理,但老師的用法卻是ScanLine來取到一列的起始指標,在剛開始除了不習慣外還因此遇到了許多問題,最後上網找資料後才發現原來有三種選取像素點的方法(第三種方法和第一種差不多,只是寫法上的不同),而且各有利弊(讀取起始指標的方法速度較快,但要取上下像素點相對會較麻煩,而讀取像素點剛好完全相反)、第二遇到的問題是JPG檔無法處理,而原因是他不會建Bitmap,而導致無法處理、最後遇到的問題則是3D圖片不知道要去哪拍或拍什麼。而比較可惜的是影像資訊直方圖沒有把顯示部分資訊的程式碼未寫出來。
然後對這門課的建議是可以不要頻繁切畫面,雖然有的時候是要講很重要的東西,但頻繁切畫面會使得程式可能正打到一半而忘記要修改什麼(雖然跟我沒關係,因為我自己帶筆電所以不受影響)。
最後感謝老師所贈送的3D眼鏡,我會好好珍惜的。
沒有留言:
張貼留言