1. 用途
Hough變換是一種在圖像中尋找直線,圓及其它簡單形狀的方法.當我們對圖像進行邊緣檢測之后朵锣,可用Hough變換識別圖像中的簡單形狀.該轉(zhuǎn)換也是對圖像的一種抽象(由繁到簡).下面介紹最基本Hough變換:尋找直線算法.
2. 思路
Hough變換通過從直角坐標系到極坐標系的轉(zhuǎn)換,將直角坐標系中的一條"直線",轉(zhuǎn)換為極坐標系上的一個"點",落在這條"直線"上的像素點越多高蜂,這個極坐標中"點"的權(quán)越重,最終通過分析各個"點"的權(quán)重(局部最大值)罕容,獲取重要線段.為區(qū)別直角坐標系中的點和極坐標系中的點备恤,下面我們將直角坐標系中的點稱為像素點.
3. 具體實現(xiàn)
如圖所示,假設(shè)我們有一個桃心圖形锦秒,由多個紅色像素點組成(紅色為其有意義的像素點露泊,即輪廓值),想提取出其中的直線.如果將各個像素點連成直線旅择,直線將會有很多條惭笑,有些有意義,有些沒意義.一般認為像素點足夠多的直線更具意義生真,比如圖中的綠色和藍色的直線.在直角坐標系中沉噩,可以用斜截式y(tǒng)=kx+b來表示一條直線(k是斜率,b是y軸上的截距).轉(zhuǎn)換到極坐標系P(ρ柱蟀,θ)川蒙;ρ稱為P點的極徑(從原點到直線的垂直距離,上圖中的虛線)长已,θ稱為P點的極角(極徑與x軸的夾角).直角坐標系中的一條"直線"畜眨,可轉(zhuǎn)換為極坐標系上的一個"點"(上圖中的黑圈),也就是說:把直角坐標系中的多個像素點痰哨,對應(yīng)成極坐標系中的一個點.落在該"直線"上的像素點越多胶果,極坐標系中的該點的權(quán)重越大匾嘱,通過比較權(quán)重斤斧,取得重要直線.
4. 總結(jié)
Hough變換通過映射,將一個形狀識別問題霎烙,轉(zhuǎn)換成了一個統(tǒng)計問題撬讽,在尋找直線的過程中,將落入一條直線上的點映射成了極徑和極角(二元)悬垃,在尋找圓的過程中游昼,將落入圓弧上的點映射成了圓心點坐標x,y與半徑r的組合(三元),通過映射簡化了數(shù)據(jù)描述尝蠕,映射后的數(shù)據(jù)也可以作為圖像的一種抽象特征進行其它運算.可其擴展到識別更復(fù)雜的形狀烘豌,加入顏色更一步判斷,以及利用基本形狀之間的關(guān)系看彼,層層抽象廊佩,組合出更加復(fù)雜的功能.