天天看點

圖像處理之倒角距離變換

圖像處理之倒角距離變換

圖像進行中的倒角距離變換(Chamfer Distance Transform)在對象比對識别中經常用到,

算法基本上是基于3x3的視窗來生成每個像素的距離值,分為兩步完成距離變換,第一

步從左上角開始,從左向右、從上到下移動視窗掃描每個像素,檢測在中心像素x的周

圍0、1、2、3四個像素,儲存最小距離與位置作為結果,圖示如下:

圖像處理之倒角距離變換

第二步從底向上、從右向左,對每個像素,檢測相鄰像素4、5、6、7儲存最小距離與

位置作為結果,如圖示所:

圖像處理之倒角距離變換

完成這兩步以後,得到的結果輸出即為倒角距離變換的結果。完整的圖像倒角距離變

換代碼實作可以分為如下幾步:

1.      對像素數組進行初始化,所有背景顔色像素點初始距離為無窮大,前景像素點距

  離為0

2.      開始倒角距離變換中的第一步,并儲存結果

3.      基于第一步結果完成倒角距離變換中的第二步

4.      根據距離變換結果顯示所有不同灰階值,形成圖像

最終結果顯示如下(左邊表示原圖、右邊表示CDT之後結果)

圖像處理之倒角距離變換

完整的二值圖像倒角距離變換的源代碼如下:

轉載請注明出處!!

繼續閱讀