Halcon基礎(4)霍夫變換
阿新 • • 發佈:2019-01-02
定義:
霍夫變換是影象處理中從影象中識別幾何形狀的基本方法之一。幾何形狀包括圓,橢圓和直線等等.
霍夫變換原理:
設影象上的直線是y=x, 我們先取上面的三個點:A(0,0), B(1,1), C(2,2)。可以求出,過A點的直線的引數要滿足方程b=0, 過B點的直線的引數要滿足方程1=k+b, 過C點的直線的引數要滿足方程2=2k+b, 這三個方程就對應著引數平面上的三條直線,而這三條直線會相交於一點(k=1,b=0)。 同理,原影象上直線y=x上的其它點(如(3,3),(4,4)等) 對應引數平面上的直線也會通過點(k=1,b=0)。
當直線與x軸垂直,直角的正切值無窮大,故此直線不存在斜率
* 利用HOUGH變換進行直線的檢測,並將檢測結果返回到HNF中 * read_image (Image, 'fabrik') get_image_size (Image,Width, Height) dev_open_window (0, 0, Width, Height, 'black', WindowHandle) dev_display (Image) *將影象轉化成一個區域 rectangle1_domain (Image, ImageReduced, 230, 180, 330, 280) * 使用sobel運算元檢測影象邊緣 sobel_amp (ImageReduced, EdgeAmplitude, 'thin_sum_abs', 3) dev_set_color ('red') threshold (EdgeAmplitude, Region, 10, 255) hough_lines (Region, 4, 50, 5, 5, Angle, Dist) dev_set_color ('blue') * 將直線轉換成區域 gen_region_hline (Regions, Angle, Dist)