2009年12月25日 星期五

HW6



※空間濾波器 (spatial filtering) 程式實作※
這個作業一開始遇到的問題是執行結果圖片會只出現左半邊大約1/3的部分
找了好久的錯誤都找不到,後來同學發現原來是因為只能處理黑白影像的原因
處理彩色影像要再把bPtrOriginalImage0 bPtrOriginalImage1 bPtrOriginalImage2
這個部分的陣列在放大3倍,就可以處理彩色的。
加入自己控制9個參數的只需注意最後要除上9個參數和就可以!!

HW3




這次作業有點難度~但是跟同學討論過後好不容易做出來了~~
Move to 跟 Line to的座標設定一開始有點搞不太懂
後來問了同學之後
才清楚原來Move to 跟 Line to代表直線的起點與終點
知道自己哪些地方比較不懂以後
下次還要更努力才行



2009年12月20日 星期日

HW5


這一次作業 又是靠同學的幫忙之下完成 主要內容是將一張8位元的灰階圖片 分成八張 經過程式處理後 只有後面四張比較清楚 後面的圖片都剩下黑白的點 感覺很像是在壓縮圖片的大小 以上是執行程式的結果

2009年12月18日 星期五

HW4 - 乘冪率(Gamma)轉換。

  這次的作業是把一張圖片做不同的Gamma值轉換,也就是把原本圖片的值經由一個公式轉換成顏色較深或較淡(對比度高或低)的圖片。轉換所用的公式和結果如下:
---------------------------------------------------
轉換公式 : s = c * r^γ

s : 轉換後的值
c : 常數值,用來調整轉換後的值落在0~255區間內
r : 原本的值
γ : Gamma值
---------------------------------------------------
黑白影像的實作結果 :

原圖 ↓

(圖片來源=>http://www.wuhunews.cn/whnews/200909/196116.html)

γ = 2.0 ↓


γ = 3.0 ↓


γ = 4.0 ↓


彩色影像的實作結果:

原圖 ↓


γ = 0.4 ↓


γ = 3.0 ↓


  這次在程式撰寫上沒有甚麼問題,大略流程為宣告一個大小為256的一維陣列來存放0, 1, 2, ..., 255每個數值轉換後的值,再把原本的圖片值丟入那個一維陣列,就可以由原本圖片值當索引,找出轉換後的值再給原圖片陣列輸出。


PS. 旋轉作業和這次的程式撰寫,皆有需要讀入使用者的輸入值,所以學到了一個新的語法:
------------------------------------
gamma = StrToFloat(Edit1->Text);
------------------------------------
功用為把使用者在Edit物件所輸入的字串轉換成數值,在寫旋轉時卡這邊卡超久,不知道要怎麼取得它的輸入值,後來在書上找到語法,雖然是個小小發現,但對初學者的我來說是滿高興的一件事。

HW03




終於弄好第三個作業了...
這次主要是統計出RGB三個值
弄成直方圖
再加上適當的比例縮小
即可完成

裡面比較有問題的地方就是弄成直方圖了
對於一些細節不是很懂
不過在有GOOGLE大神下還是搞定了


PS:電腦這禮拜突然開不起來害我超緊張...
還好後來有修好了,差點以為東西要不見了的說

HW3






從圖片擷取出顏色個別的數值,
在看過範例程式之後,
從Moveto以及lineto來分析
畫出線條這部分比較簡單
只是在顯示比例上還要想辦法去做調整
讓曲線平滑一點
作的不是很精細,很多小功能
都還可以加上去。

HW3




直方圖對我來說應該要是很熟悉的部分才對
因為我們這組專研有許多大標題
其中的直方圖標題就是由我負責
所以老師一開始再講值方圖時我就有些許概念
不過我們專研使用的是DEVC所以不能直接用在BCB上
用BCB寫跟DEVC寫整個就是大不同...
而這禮拜好多作業跟事情,突然說要把前三次的作業都繳上實在是太突然了...
為了趕作業只好先大略弄一弄,趕緊把能找的資料找一找,最後終於搞出這張圖了!
剩下不足的地方只好等之後再研究了,先交再說Q..Q

HW03













這次程式真的不容易
主要是參考範例程式和巴著同學狂問這樣...
利用imHistogram->Canvas->Pen->Color畫直方圖都還OK
之後嘗試寫mouse move ,會出現floating point division by zero的錯誤
搞了很久還沒想到要怎麼處理這個問題......就先把這個功能註解掉了:P

HW02















原本以為是套套公式就能解決的作業,沒想到卻是困難重重
沒有設定中心點,圖片就會亂跑
還有圖片旋轉後會被切掉的情形還沒解決就是了......

2009年12月17日 星期四

HW3 - 直方圖統計。

(又遲交了,嗄嗄嗄...。)

  這次的作業是把一張圖做RGB值的統計並用直方圖顯示出來,實作方式為利用一個二維陣列和選擇Channel的方式去記錄RGB個別的值。這次主要卡在的地方是不知道要如何在圖片上畫出一段特定長度的線和畫出有顏色的線。一開始有自己的想法,想把一個R值的統計結果放在一個二維陣列,直接顯示到圖片上,不過這麼一來就要使用三個二維陣列去顯示,會很佔記憶體空間。後來老師公佈程式碼和同學的參考範例,知道了可以使用MoveTo和LineTo畫線的長度,還有使用Image2->Canvas->Pen->Color去畫線的顏色。實作結果如下:

原圖↓


R的直方圖統計結果圖↓


G的直方圖統計結果圖↓


B的直方圖統計結果圖↓


  加上參考老師所寫的範例,可以調整顯示結果的比例,調整成更清楚的圖形分佈,而直方圖下方的拉吧範圍為0~255,可以自己隨意拉動,且依據拉到的位置顯示出該位置數值的像素數。