【數字圖像處理】圖像邊緣銳化之梯度銳化


 

關於具體在實際場景的使用和圖像會慢慢更新。

梯度銳化方法

圖像平滑往往使圖像中的邊界、輪廓變得模糊,為了減少影響,需要利用圖像銳化技術,使邊緣變得清晰。常用的方法有:

  • 直接以梯度值代替
  • 輔以門限判斷
  • 給邊緣規定一個特定的灰度級
  • 給背景規定灰度級
  • 根據梯度二值化圖像

 

梯度運算

  梯度銳化中,首先應該知道梯度是什么,怎么計算。

  梯度是一個矢量,由分別沿x方向和y方向計算微分的結果構成。

  構成有以下幾種方式:

 

 

 

梯度銳化

直接以梯度值代替

思路:目標圖像像素點用雙向一次微分結果替代。

for(int i = 1; i < Use_ROWS- 1; i++)   
 {
   for(int j = 1; j < Use_Line -1; j++)
    {
      Image_Use[i][j] = sqrt((Image_Use[i][j+1] - Image_Use[i][j])*(Image_Use[i][j+1] - Image_Use[i][j])+(Image_Use[i+1][j] - Image_Use[i][j])*(Image_Use[i+1][j] - Image_Use[i][j]));
    }
  }

 

 

輔以門限判斷

思路:我們對梯度(變化率)取了一個預值,當圖像的梯度變化很小時,本來是物體內部的數據的亮度分布不均勻產生的偏差,可以不考慮進去。只有大於等於一定預值,才認為是邊界,否則恢復為原灰度值。

如果變化率超過了一定的預值,認為是邊界,因為邊界值還是很小,所以加上100,目的增強亮度(梯度),需要判斷一下這個值,如果大於255,直接等於255.

 

 

 

給邊緣規定一個特定的灰度級

思路:La為規定灰度值,我們對變化率取了一個預值,如果梯度大於等於預值,直接設置為la,否則恢復為原灰度值。

 

 

 

給背景規定灰度級

思路:Lb為規定灰度值,我們對變化率取了一個預值,如果梯度大於等於預值,使用梯度替代原像素值,否則為Lb。

 

 

 

根據梯度二值化圖像

思路:我們對變化率取了一個預值,如果梯度大於等於預值,置為255,否則置為0。

           int tidu=0,tidu_Threshold=50;for(int i = 1; i < Use_ROWS- 1; i++)   
                 {
                    for(int j = 1; j < Use_Line -1; j++)
                    {
                     tidu = sqrt((Image_Use[i][j+1] - Image_Use[i][j])*(Image_Use[i][j+1] - Image_Use[i][j])+(Image_Use[i+1][j] - Image_Use[i][j])*(Image_Use[i+1][j] - Image_Use[i][j]));
                     if(tidu>tidu_Threshold)
                       Image_Use[i][j] = 0;
                     else
                       Image_Use[i][j] = 255;
                    }
                 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM