4.根据霍夫变换在图像中寻找直线

霍夫变换可以用来识别几何形状。如圆,随圆,直线等等


*读取一张图像
read_image (Image, '矩形')

get_image_size (Image, Width, Height)

dev_open_window (0, 0, Width, Height, 'black', WindowHandle)

*剪切指定矩形的图像
rectangle1_domain (Image, ImageReduced, 76, 120.938, 464.875, 966.813)

* 寻找图像中矩形的边缘
sobel_amp (ImageReduced, EdgeAmplitude, 'thin_sum_abs', 3)

* 设置输出对象颜色
dev_set_color ('red')

* 对上面获取的边缘图像进行阈值操作
threshold (EdgeAmplitude, Region, 10, 255)

* 对阈值后的区域进行连通处理
connection (Region, ConnectedRegions)

* 根据面积过滤出图像中外矩形区域
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 2500, 99999)

* 霍夫变换来寻找区域中的直线
hough_lines (SelectedRegions, 4, 50, 5, 5, Angle, Dist)

* 设置输出对象的颜色
dev_set_color ('blue')

* 将直线转换为区域
gen_region_hline (Regions, Angle, Dist)

* 根据方向特征来过滤想要的直线
select_shape (Regions, SelectedRegions1, 'orientation', 'and', 1.5, 1.6)
select_shape (Regions, SelectedRegions2, 'orientation', 'and', 0, 0.1)

* 显示图像和结果直线
dev_display (Image)
dev_display (SelectedRegions1)
dev_display (SelectedRegions2)

你可能感兴趣的:(机器视觉,笔记)