一種圖像毛刺去除的方法
2023-06-04 11:19:16 2
專利名稱:一種圖像毛刺去除的方法
技術領域:
本發明涉及計算機數字圖像處理領域。
背景技術:
在圖像識別的應用中,通過攝像機拍攝所得的圖像一般都有噪聲,引起圖像中的圖形邊緣產生突出或凹陷的毛刺,這就給後續的圖像處理和識別帶來了不少困難。常用的圖像毛刺去除的方法有很多,例如中值濾波法、Spur去毛刺法、膨脹腐蝕法(開、閉運算)等。中值濾波為非線性濾波,該方法首先需要對目標像素點鄰域上的所有點的像素值進行排序,找出中值,然後賦給該像素點,這樣耗時非常大;Spur去毛刺能夠使輪廓不清晰的圖像呈現出明顯的輪廓,但是對於圖像中輪廓上的凹凸不平的毛刺去除效果不明顯,而且需要多次掃描圖像並生成與圖像同樣大小的毛刺模板,這樣就會有大量的時間和內存的開銷;膨脹腐蝕可以使圖像中的邊界變得整齊平滑,但是會使圖像中的許多邊界發生偏移或增減,導致許多信息的錯誤和損失。總體來看,傳統的方法消耗時間和空間很大,並且對於包含大量信息的精細圖像處理效果不佳,難以達到理想的毛刺去除的效果。
發明內容
本發明的目的是為了解決傳統的圖像毛刺去除的方法消耗時間和空間很大,卻難以達到理想的毛刺去除的效果的問題,提供一種圖像毛刺去除的方法。一種圖像毛刺去除的方法,它包括具體步驟如下步驟一、建立一個與待處理圖像相同大小的緩衝區;步驟二、橫向遍歷待處理圖像中的每一個像素點,每一個像素點的處理過程為步驟三和步驟四,完成待處理圖像中毛刺的去除;步驟三、將以該點為中心的3X3矩陣的每個元素值與計算數組對應位置的元素值相乘後取和,得到nSum,所述計算數組是一個3X3的數組;步驟四、通過查找表來得到nSum所對應形狀類型的返回值,返回值為0、1、2或3 中的一個,根據所述返回值對圖像中的像素點做對應操作當返回值為0時不做處理,完成該像素點的處理;當返回值為1時將像素點對應的存儲器的值由「1」變為「0」,完成去掉該點毛刺;當返回值為2時跳過下一個待處理的像素點,對再下一個像素點進行處理;當返回值為3時將像素點對應的存儲器的值由「0」變為「1」,填充該點反毛刺。本發明能通過一次掃描去除圖像中的長毛刺,由於本方法是在掃描的同時去除毛刺,也就是說圖像在實時的更新,這樣一個長毛刺在每一次掃描到其末端時都會被去掉一次,變成一個較短的毛刺,原來的次末端變成末端,這樣通過一次掃描就可以把一根長毛刺變得越來越短,直至去掉。如若有些長毛刺由於方向原因一次掃描無法去除,再做一次反向掃描即可。能根據需要記錄毛刺信息。
圖1是本發明所述的方法實現圖像毛刺去除的流程圖,圖中S表示掃描像素點,0、 1、2和3分別表示返回值;圖2是帶有毛刺的圖片及其局部放大圖;圖3是採用本發明所述的方法對圖2所示的放大部分進行處理後獲得的圖片;圖4是帶有毛刺的圖片;圖5是採用本發明所述方法對圖4所示圖片進行處理後獲得的圖片。
具體實施例方式具體實施方式
一結合圖1說明本實施方式,本實施方式所述的一種圖像毛刺去除的方法包括具體步驟如下步驟一、建立一個與待處理圖像相同大小的緩衝區;步驟二、橫向遍歷待處理圖像中的每一個像素點,每一個像素點的處理過程為步驟三和步驟四,完成待處理圖像中毛刺的去除;步驟三、將以該點為中心的3X3矩陣的每個元素值與計算數組對應位置的元素值相乘後取和,得到nSum,所述計算數組是一個3X3的數組;步驟四、通過查找表來得到nSum所對應形狀類型的返回值,返回值為0、1、2或3 中的一個,根據所述返回值對圖像中的像素點做對應操作當返回值為0時不做處理,完成該像素點的處理;當返回值為1時將像素點對應的存儲器的值由「1」變為「0」,完成去掉該點毛刺;當返回值為2時跳過下一個待處理的像素點,對再下一個像素點進行處理;當返回值為3時將像素點對應的存儲器的值由「0」變為「1」,填充該點反毛刺。
具體實施方式
二本實施方式是對具體實施方式
一所述的一種圖像毛刺去除的方法中的步驟三做進一步限定,本實施方式中,步驟三所述計算數組是一個3X3的數組,其中的元素由2n的數字組成M[3] [3] = {{1,8,64},{2,16,128},{4,32,256}}。
具體實施方式
三本實施方式是對具體實施方式
一所述的一種圖像毛刺去除的方法中的步驟四做進一步限定,本實施方式中,步驟四中所述形狀類型包括一般形狀、毛刺形狀、跳過形狀和反毛刺形狀;形狀類型與返回值對應關係是一般形狀對應返回值是0, 毛刺形狀對應返回值是1,跳過形狀對應返回值是2,反毛刺形狀對應返回值是3。一般形狀的I數據表示為
0 10 10 0 100110
110 111 0 11110
110 010 0 10000
毛刺形狀的I數據表示為
0 10 10 0 100000000111111000111111000000111000000111010 110 010 0100 0 0 0 0 0 0 0 0 0 0 0跳過形狀的數據表示為0 0 0 1 1 10 0 0 1 1 10 0 0 1 1 1反毛刺形狀的數據表示為101 Oil 011 111101 001 101 101111 111 111 111。
具體實施方式
四本實施方式是對具體實施方式
一所述的一種圖像毛刺去除的方法中的步驟四做進一步限定,本實施方式中,步驟四中所述查找表是長度為512的數組,所述數組為LUT [512] = {2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,3,3,3,3,3,3,3,3,3,0,0, 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,2,0,0,0,0,0,0,3,3,0,0,3,3,3,0,3,3,0,0,3,0,0,0,0,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, 0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,1,3,0,0,0,3,0,0,0,0,0, 0,2,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,3,0,3,3,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0, 0,0,0,0,0,1,0,0,0,1,3,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,3,3,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,3,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},該查找表中的每一個位置的元素唯一對應一個形狀類型。在只有0或1的3X3數組的形狀全部情況只有512種,建立一個長度為512的數組作為查找表,查找表中的每一個位置的元素唯一對應一個形狀,對這些位置賦特定的值, 利用查找表對應位置的值,就能知道目標圖像中形狀的類型。
具體實施方式
五本實施方式採用具體實施方式
一的方法,結合具體的環境應用, 說明本發明的效果步驟一建立一個與圖像相同大小的緩衝區,計算矩陣以及預定義的查找表。步驟二 遍歷待處理圖像中的每一個像素點,並對每一個像素點的處理過程為步驟三和步驟四,完成待處理圖像中毛刺的去除。步驟三將以該點為中心的3X3矩陣的每個元素值與計算矩陣對應位置的元素值相乘後取和,得到nSum。第一個區域的數據為0 1 0
1 1 01 1 0nSum = 0 X 1+1 X 2+1 X 4+1 X 8+1 X 16+1 X 32+0 X 64+0 X 128+0 X 256 = 62 ;步驟四通過nSum索引查找表得到所對應的62位置處的返回值(即形狀類型), 根據該返回值在圖像的中該點做相應操作。因為返回值為0即一般形狀,不做處理,完成該像素點的處理;繼續掃描。圖3是用本方法對圖2處理後獲得的圖片;對比處理前的圖片圖2,處理毛刺效果明顯。圖5是用本方法對圖4處理後的獲得的圖片;對比處理前的圖片圖4,有很好的效
權利要求
1.一種圖像毛刺去除的方法,其特徵是它包括具體步驟如下 步驟一、建立一個與待處理圖像相同大小的緩衝區;步驟二、橫向遍歷待處理圖像中的每一個像素點,每一個像素點的處理過程為步驟三和步驟四,完成待處理圖像中毛刺的去除;步驟三、將以該點為中心的3X3矩陣的每個元素值與計算數組對應位置的元素值相乘後取和,得到nSum,所述計算數組是一個3X3的數組;步驟四、通過查找表來得到nSum所對應形狀類型的返回值,返回值為0、1、2或3中的一個,根據所述返回值對圖像中的像素點做對應操作 當返回值為0時不做處理,完成該像素點的處理;當返回值為1時將像素點對應的存儲器的值由「1」變為「0」,完成去掉該點毛刺; 當返回值為2時跳過下一個待處理的像素點,對再下一個像素點進行處理; 當返回值為3時將像素點對應的存儲器的值由「0」變為「1」,填充該點反毛刺。
2.根據權利要求1所述一種圖像毛刺去除的方法,其特徵在於步驟三中所述計算數組中的元素由2n的數字組成M[3] [3] = { {1,8,64}, {2,16,128}, {4,32,256} Io
3.根據權利要求1所述一種圖像毛刺去除的方法,其特徵在於步驟四中所述形狀類型包括一般形狀、毛刺形狀、跳過形狀和反毛刺形狀;形狀類型與返回值對應關係是一般形狀對應返回值是0,毛刺形狀對應返回值是1,跳過形狀對應返回值是2,反毛刺形狀對應返回值是3。
4.根據權利要求3所述一種圖像毛刺去除的方法,其特徵在於步驟四中所述查找表是長度為512的數組,所述數組為LUT[512]{2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,2,0,0,0,0,0,0,3,3,0,0,3,3,3,0,3,3,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, 0,0,1,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,1,3,0,0,0,3,0,0,0,0,0,0,2,0,0, 0,0,0,0,0,0,0,0,1,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1,0,0,0,0,3,3,0,3,3,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, 0,1,0,0,0,1,3,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0, 3,3,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,1,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1, 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},查找表中的每一個位置的元素唯一對應一個形狀類型。
5.根據權利要求4所述一種圖像毛刺去除的方法,其特徵在於步驟四中通過查找表來得到nSum所對應形狀類型的返回值的方法為在查找表中的第nSum個數據就是nSum所對應形狀類型的返回值。
全文摘要
一種圖像毛刺去除的方法,涉及計算機數字圖像處理領域,為了解決傳統的毛刺去除方法消耗時間和空間很大,卻難以達到理想的毛刺去除的效果的問題,它包括具體步驟如下步驟一、建立一個與待處理圖像相同大小的緩衝區;步驟二、遍歷待處理圖像中的每一個像素點,並對每一個像素點的處理過程為步驟三和步驟四,完成待處理圖像中毛刺的去除;步驟三、將以該點為中心的3×3矩陣的每個元素值與計算數組的元素值相乘後取和,得到nSum;步驟四、通過查找表來得到所述點nSum所對應形狀類型的返回值,返回值為1將像素點對應的存儲器的值由「1」變為「0」,完成去掉該點毛刺;返回值為3填充該點反毛刺。用於計算機數字圖像處理領域。
文檔編號G06T5/00GK102496148SQ20111039039
公開日2012年6月13日 申請日期2011年11月30日 優先權日2011年11月30日
發明者李瓊, 牛夏牧, 王莘, 石振鋒, 閆雪虎, 韓琦 申請人:哈爾濱工業大學