halcon霍夫直線檢測

2021-09-25 06:53:45 字數 1062 閱讀 6957

dev_update_window ('off')

read_image (bottle, 'c:/users/administrator/desktop/image.png')

get_image_size (bottle, width, height)

dev_close_window ()

dev_open_window (0, 0, 2 * width, 2 * height, 'black', windowid)

*剪下指定區域,左上右下座標

rectangle1_domain(bottle, imagereduced, 50, 50, 300, 340)

*尋找邊緣

sobel_amp(imagereduced, edgeamplitude, 'sum_abs', 3)

*設定剪下物件顏色

dev_set_color('red')

*對上面的影象進行閾值操作

threshold(edgeamplitude, region, 128, 255)

*霍夫變換

hough_lines(region, 4, 100, 5, 5, angle, dist)

*設定輸出物件的顏色

dev_set_color('blue')

*將直線轉化為區域,我的理解是會檢測出很多條直線,將它們看成乙個整體,方便下面在整體中選擇

gen_region_hline(regions, angle, dist)

*根據方向選擇直線,後面兩個引數是挑選直線的弧度範圍

select_shape(regions, selectedregions, 'orientation', 'and', 1.5, 3)

select_shape(regions, selectedregions1, 'orientation', 'and', 0, 1.5)

dev_display(bottle)

dev_display(selectedregions)

dev_display(selectedregions1)

stop()

霍夫直線檢測

使用python做霍夫直線檢測,直接詳細 注釋清晰 import cv2 import matplotlib.pyplot as plt import numpy as np if name main pic path c users echo desktop python file hough p...

霍夫直線檢測

霍夫直線檢測的原理 略 直接上 一 首先匯入,並進行高斯濾波降噪 我用的是這幅圖 二 獲取影象的輪廓 獲取邊緣 edges cv.canny src,150,300,aperturesize 3 cv.imshow edges edges 獲取邊緣後如下 接下來有兩種方法可以提取直線 方法一 lin...

霍夫變換檢測直線

對於結構化道路的檢測,常用的方法是採用霍夫變換檢測道路中的直線段。一條直線可以看做是影象上的若干個畫素點組成,也可以用一條直線方程來表示,如 y kx b,那麼霍夫變換檢測直線段其實是將影象畫素點空間變換到引數空間,對於直線來說就是引數 k,b 也可以用來檢測其他形狀如圓和橢圓,只是引數空間表示不一...