1. 程式人生 > >讀EasyPR開發詳解實踐感想1

讀EasyPR開發詳解實踐感想1

實習期間看到了EasyPR這篇文章,作者寫的特別詳細,無論講解還是程式碼,都可以說是業界良心,在此附上鍊接:EasyPR

看到之後就想這麼詳細的教程,不自己親自實踐一下簡直浪費,於是乎,結合自己正在做的數字識別進行實踐,在實踐的過程中,遇到一些小問題,但同時也驗證了坐著的一些思想,特作出總結。

1. 高斯模糊

高斯模糊就是在平均模糊的基礎上為每一個畫素點分配權重,分配方式則按照正態分佈函式。高斯模糊一般用於影象的與處理階段。插入一個很好地高斯模糊講解

之前學過高斯模糊,也接觸過,但忘記具體效果,坐著在原文中給出了高斯模糊彩色圖片對比,效果並不是特別明顯,這裡放上原圖直接二值化和原圖先進性高斯模糊再進行二值化的效果對比:

                                             

                                         原圖                                                原圖二值化                               高斯模糊後二值化

從二值化後的影象就可以看出,高斯模糊後的影象經過二值化後少了很多的噪點。

2. sobel運算元

sobel運算元主要用於邊緣檢測,本文中sobel的程式碼為:

Mat grad_x, grad_y;
   Mat abs_grad_x, abs_grad_y;

	Sobel( src_gray, grad_x, -1, 1, 0, 3, 1, 0, BORDER_DEFAULT );
	convertScaleAbs( grad_x, abs_grad_x );

	Sobel( src_gray, grad_y, -1, 0, 1, 3, 1, 0, BORDER_DEFAULT );
	convertScaleAbs( grad_y, abs_grad_y );

	addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, src_sobel )

其中最後的兩個0.5分別是x和y方向上的權重,我因為是數字,且沒有明顯的方向干擾,所以就取相同的權重,像原作者那樣有很強的橫向干擾,感覺可以提高y方向的權重。sobel運算元是在灰度化之後做的,對於我之前的原圖,其進行sobel再二值化後,效果如圖:

                  

第一張圖雖然看到效果,但是明顯不如直接二值化效果好,所以,感覺如果已經實現了招標的過程,sobel就不在需要了,這裡我的找表主要用SIFT實現,中間影象為最一開始的原圖;