2011年11月30日 星期三

Homework 2

第二次的作業內容為:平滑話、銳利化、中值濾波器(灑胡椒鹽)


平滑化的原圖:


平滑化後:


平滑化的目的在於將圖片的邊緣鋸齒狀的部分,做平滑的處理,讓線條更平滑,整張圖就會顯得更平順。這兩張圖片的前後差異,在右下手臂的部分,明顯的可以看出線條的變化。

銳利化的原圖:


銳利化後:


而銳利化是強調影像色彩邊緣的部分。例如這張荷花的影像,在經過銳利化之後,在花朵邊緣的部分,線條變得更明顯,整朵花變的更突出。


灑胡椒鹽:


消除胡椒鹽後:


灑胡椒鹽的用意在於要清除影像的雜訊。
這張圖片原本是銳利化的荷花原圖,但是在做中值濾波器的時候,一直覺得效果很不好,想說因為課本上的範例是灰階影像,所以就把影像變成灰階來試看看,效果果然好很多。

這次的作業又不小心拖了一下,差點讓我無法跟上進度。現在補交作業以後,我總算可以跟上老師進度,準時交作業了。

2011年11月29日 星期二

Homework 2: 空間濾波器實作

基本設計界面





part a. 實作以下三類空間濾波器: 平滑化, 銳化, 中值濾波器

    平滑化




    銳化(部分)




    中值濾波器(部分)





part b. 對不同圖片進行實驗

    i. pic view

      未修改前



      平滑化



      銳化



      灑胡椒鹽



      中值濾波器




    ii. pic dog

      未修改前



      平滑化



      銳化



      灑胡椒鹽



      中值濾波器


    
part c. 實驗結果討論

  這次的作業是做空間濾波器,並利用它改變影像。在這次的程式製作之中,有部分程式碼聽得懂但要應用的時候卻寫不出來,所以利用網路搜尋以及觀看之前學長姊繳交過的作業參考,其實每個人的寫法都不太一樣,有些過於複雜化,導致在運用的時候總會出現error,而且又修改不出正確的程式碼,後來詢問其他同學的寫法,想法比較清楚易懂,讓我順利完成這次的作業。

  其實重點還是放在ScanLine,利用它來掃描色彩值,再逐一利用程式碼改成自己想要的效果。其實在run平滑化的程式碼時,剛開始complier都會過,直到開始讀檔的時候,就會出現警告,導致程式不能執行,如下圖:


  後來才發現,原來是自己的bmp圖檔有問題,因為剛開始為了要讓圖片大小符合我所拉的框架,就事先把圖片縮小成我要的長與寬,結果導致執行的時候出現error,發現狀況之後就把圖片改回原始大小,才得以讓程式執行。而後,使用了BCB裡的的大小更改,本來是將"Auto size"這個部分改成true,結果發現這樣改變的就只有一部份的正方形,例如胡椒鹽也只會灑在某一部分上、銳化也只有某一部分,但之後改成壓縮方式的"Stretch"就完全解決了這個問題。


part d. 心得

  這次的作業,完成的時間其實很早,但心得部分卻不知道要從何下手。先前有提到我有到之前的課程部落格去看學長姊的作業,也就是因為看了學長姊的作業之後,我才選用了狗狗的圖片來實做,我發現有毛的圖片對於改變的效果是最好的,而風景照之中的樹木與葉子的效果也很不錯,在我執行完圖片之後看到的效果是令我嘖嘖稱奇的。
  
  其實影像處理的範圍涵括的範圍很多,包含這次做的幾項功能,其實這些效果在一般坊間上的相機都普遍具備,大家都會使用也喜歡這些特殊的影像效果,但真正懂得這個程式製作的人卻不多,要是我今天沒有修這堂課,也不會有機會去理解這些效果其中的處理模式,而對於沒有數位相機卻又想將自己喜歡的照片或圖片做不同的變化時,這個程式就是很好的幫手,讓我們可以不需要數位相機也能做出數位相機擁有的功能,雖然我沒有學得很好,但看到這個程式做出來的感覺真的很開心,這次的學習我學到了不少,而後還有一些不同的影像處理程式,希望自己都能夠好好理解,把演算法真正弄懂、學會。

2011年11月27日 星期日

IPC HW2


這次的作業分別對圖片做平滑化.銳化.中值濾波器

先對這次名詞的功能做個介紹



原圖




平滑化

可以將圖片變模糊,產生朦朧的美感



銳化

可以讓圖片產生清析銳利的效果



灑上胡椒樣





中值濾波器

是一種非線性數字濾波器技術,經常用妤去除圖像或者其他信號中的雜訊

常用於把鹽巴和胡椒等雜訊給去除掉




心得:

對我來說平滑化的功能非常好用

就算拍照當天就算皮膚狀況不是很好

可以經過平滑化處理後

讓膚質狀況看起來好很多

還有就是在寫作業中有發現到當執行胡椒鹽功能時

跑出來的圖都只有左上角那一區塊有處理到

後來問了一下廖中裕才知道

原來要把Image1->Height

改成Image1->Picture->Bitmap->Height才行

不然這行指令只會照著更改圖後的大小

而不是圖的的長和寬去執行

(我把Image1的stretch改成true)









2011年11月25日 星期五

HW-2













銳化前












銳化後

銳化目的是在凸出圖像變化的部分 可以明顯看出兩張圖的不同
人物的邊框被描了起來看起來更加銳利,看過一些警匪片裡的
攝影機頭像,為了抓到犯人把攝影機的裡的畫面定格,然後放大銳化 我想應該就是這個技術了吧












平滑化前











平滑化後
平滑化前跟平滑化後有很大的不同,跟銳化是完全相反的,將每個像素點和周圍九宮格的值作加總之後再平均,銳化是乘以數值後在相加起來,我覺得平滑話可以拿來修膚,因為看起來比較柔和
















中值濾波器處理前

















中值濾波器處理後

特地選了一張白色較多的圖,就怕胡椒鹽不太明顯,目的是去除雜訊
將像素點九宮格的值取出來做排序再放回中位數,可以照片更為清楚

心得:
這次作業有點難度,上網找了些前人的做法,去看看跟老師所講的有甚麼不同
所以拖的蠻久的,最近看的電影發現影像處理這部分在追查犯人時,有極大的影響力
也是破案的關鍵,剛好又在學這項技術,讓我覺得很有興趣

Hw02


銳化前

銳化後


平滑化前


平滑化後



中值濾波器前

中值濾波器後


銳化是為了將圖片的成像更加立體更加銳利
兩張圖的比較會發現下面的圖花的輪廓被框了起來
這可以讓照片更有辨識度,也可以用運在辨識車牌上
演算法就像老師說的用九宮格去換算

平滑化的做法是將圖片的像素點九個九個一組,可以每個點乘以一倍
也可將中心點乘以多一點的倍數,最後在除以總數
可以讓圖片變不清楚,可以解決邊線不平整的問題

中值濾波器
和平滑化有很雷同的地方,只是中值濾波器是找中間值來取代極端值,讓周邊的雜質消失,可是沒有辦法去除的很乾淨,因為如果中間值和最大最小直接進,就算取代了還是會維持類似的原顏色彩值

這次的作業讓我了解到像素和色彩的運用,雖然程式不知該如何下手,所以參考了一下別人的程式,但是我學到了一點點原理和老師上課說的演算法,希望可以跟上腳步,把打程式的邏輯練習熟一點,下次可以學著自己完成

2011年11月24日 星期四

HW02

這張是一開始的原圖

平滑化

銳化

這是灰階的平滑化

灑胡椒鹽(雜訊)

去胡椒鹽(中值濾波器)


心得:

這次作業的演算法老師講解了好幾次,觀念其實滿好懂的,不過在做平滑化的時候碰到了

一些問題,就是做平滑化時處理出來的圖變成灰階的平滑化了,發現原來是沒有處理成

RGB的關係,所以這邊稍微費了 點心思,所以圖片中附帶了不小心做成灰階平滑化的圖

灑胡椒鹽的部分老師有貼範例就比較簡單這次的作業感覺上又加深了許多,關於處理圖片

pixel 方面感覺還沒有很熟悉,不過做完這次作業學到了很多,希望程式

方面可以繼續加油


Hw02



平滑化前

平滑化後

平滑化:就是讓影像顏色像素之間的值經過處理之後分布區域變寬變大,影像、線條會變得比較模糊,可以用來去除雜物雜點,例如消除青春痘

如果mask的範圍越大,那麼模糊化的就會越來越明顯

乘上幾倍的像素點,就要除以總數的像素點

在寫程式的時候,因為是處理彩色圖片,所以要對BGR三個顏色都個別設定運算值,這樣才可以處理彩色影像


銳化前

銳化後

銳化:銳化和平滑化很像,就是 SHARPEN,讓就是讓影像顏色像素之間的值經過處理之後分布區域變寬變窄變小,影像、線條會變得比較剛硬,可以強化看不清楚的線條。

在寫程式的時候,和平滑化一樣,如果要處理彩色圖片,就必須重複寫三次




中值濾波器前

中值濾波器前

中值濾波器:就是老師上課一直在敘述的灑胡椒鹽,將九宮格的像素直取出,找到中位數再放回九宮格,這樣較大或較小的極端值,就可以被中位數取帶,就能達到去除雜訊的效果。

這次的作業,老師上課講的演算法和原理,有稍微聽得懂一些,可是寫程式的時候都不知道從何下手,需要別人的程式並指導和提示才能大概知道怎麼寫,程式是怎麼進行和參數怎麼設定,所以我覺得我要加強演算法的能力