平滑化主要目的用於模糊化減少雜訊使影像變為更為柔和,主要作法使用一個3*3的平滑濾波器, 濾波器的係數都為1,最後全部的像素在以九來除,從左到右及上到下依序每個像素點都做一次,因此程式主要寫法就是把3*3的每個像素點找出並且作相加,最後再除以中間像素點加上周圍像素點和,而當使用n*n的方形濾波器,n的數值越大,整張影像所顯示的模糊效果較為明顯,以下是以3*3的平滑濾波器進行平滑化 。
左邊的影像為原始的圖片,右邊的影像是經過平滑化的結果,可以發現在未經過平滑化前的燈塔圍牆石塊線條較為明顯,經過平滑化後的石塊圍牆線條較為模糊。
而銳利化的程式做法和模糊化差不多,不過模糊化是把像素點值除以九,使圖片呈現模糊狀,而銳利化是藉由乘中間像素點值在減去周圍像素點值,不過在銳利化的程式碼中要多加一個判斷,如以下所示:
(二)銳化
銳化主要目的即為加強影像中較不明顯的細微影像部分或部分模糊的細節,使影像更為清楚,而銳利化的作法為加強濾波器遮罩的中間值乘以九,再減周圍像素點的值,藉由改變增幅係數,使銳利化後的影像線條更為清楚,左邊的圖片為未經過銳利化的原圖,而右邊的圖片經由銳利化後,可以發現在葉子上的線條更為明顯 。
銳化主要目的即為加強影像中較不明顯的細微影像部分或部分模糊的細節,使影像更為清楚,而銳利化的作法為加強濾波器遮罩的中間值乘以九,再減周圍像素點的值,藉由改變增幅係數,使銳利化後的影像線條更為清楚,左邊的圖片為未經過銳利化的原圖,而右邊的圖片經由銳利化後,可以發現在葉子上的線條更為明顯 。
而銳利化的程式做法和模糊化差不多,不過模糊化是把像素點值除以九,使圖片呈現模糊狀,而銳利化是藉由乘中間像素點值在減去周圍像素點值,不過在銳利化的程式碼中要多加一個判斷,如以下所示:
if(GrayB < 0)
GrayB = 0
else if(GrayB > 255)
GrayB = 255
GrayB = 0
else if(GrayB > 255)
GrayB = 255
透過以上的判斷式,才不會造成銳利化後的圖片像素大於255。
以下右邊銳利化圖片是未加入判斷式所造成錯誤結果
(三)中值濾波器
中值濾波器主要目的即是消除圖片中受胡椒鹽所干擾的雜訊,主要作法為把影像區域的像素進行排序,接著取中間值,而中值濾波器會強迫不同色彩度的點更接近中間值的點。
左圖為未經過中值濾波器的胡椒鹽圖片,而右圖經過中值濾波器後可以發現胡椒鹽明顯變少,但還是可以發現有少許胡椒鹽存在,主要原因為當像素點在進行排序時,胡椒鹽的數量大於四,此時在取中間值時,會取到胡椒鹽,因此才會發生經過去胡椒鹽後,還會發現少量胡椒鹽的存在。
中值濾波器主要目的即是消除圖片中受胡椒鹽所干擾的雜訊,主要作法為把影像區域的像素進行排序,接著取中間值,而中值濾波器會強迫不同色彩度的點更接近中間值的點。
左圖為未經過中值濾波器的胡椒鹽圖片,而右圖經過中值濾波器後可以發現胡椒鹽明顯變少,但還是可以發現有少許胡椒鹽存在,主要原因為當像素點在進行排序時,胡椒鹽的數量大於四,此時在取中間值時,會取到胡椒鹽,因此才會發生經過去胡椒鹽後,還會發現少量胡椒鹽的存在。
心得:在常見影像處理工具中,先前也有使用過模糊功能,不過在經過這次的作業實作後,更了解平滑化、銳利化和中值濾波器對於影像的目的,並且在實作程式中了解其中對於影像的演算法及處理方式,而在程式實作,在銳利化花滿多時間,常常在銳化後會呈現黑白失敗畫面,而最後還是選擇另一種實作方式後才解決此問題。
沒有留言:
張貼留言