一、blob分析例子
目的是为了检测下图中的硬币
由于没有摄像头,就使用图片的方式读取
1.二值化
2.开操作(去噪)
opening_circle (Regions, RegionOpening, 3.5)
3.填充(使得硬币中间没有缝隙)
fill_up (RegionOpening, RegionFillUp)
4.计算连通域
connection (RegionFillUp, ConnectedRegions)
5.特征选择(圆度较大的)
select_shape (ConnectedRegions, SelectedRegions, 'circularity', 'and', 0.90092, 1)
6.计算面积和圆心
area_center (SelectedRegions, Area, Row, Column)
7.输出信息
(注意一定要dev_close_window和dev_open_window后才能输出信息)
disp_message (WindowHandle, 'Area:'+Area+' x:'+Column+' y:'+Row, 'window', 0, 0, 'blue', 'true')
代码
dev_close_window() read_image (Image, 'C:/Users/xuheding/Desktop/图片/1.png') dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image) rgb1_to_gray (Image, GrayImage) threshold (GrayImage, Regions, 121, 238) opening_circle (Regions, RegionOpening, 3.5) fill_up (RegionOpening, RegionFillUp) connection (RegionFillUp, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, 'circularity', 'and', 0.90092, 1) area_center (SelectedRegions, Area, Row, Column) disp_message (WindowHandle, 'Area:'+Area+' x:'+Column+' y:'+Row, 'window', 0, 0, 'blue', 'true')
二、预处理方法
中值滤波
均值滤波
高斯滤波
模板滑动
scale_img
三、预处理的一些操作
打开这个例子
这一行就是中值滤波(可以去除椒盐噪声)
median_image (Image, ImageMedian, 'circle', 3, 'continued')
其他函数
mean_image
均值滤波
invert_image
图像灰度翻转(255-灰度值)
‘shape_trans’
shape_trans算子解释
比如这个区域
1.使用shape_trans 凸性
shape_trans (Image, RegionTrans, 'convex')
可以发现下图中没有凹进去的地方了
2.使用使用shape_trans 最小外接矩形
使用最小外接矩形作为新的区域
shape_trans (Image, RegionTrans, 'rectangle1')