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()
halcon霍夫直线检测
最新推荐文章于 2024-07-23 11:25:43 发布