Halcon 学习笔记二:简单blob分析

简介: Halcon 学习笔记二:简单blob分析

步骤

  • (先关闭窗体)再打开窗体
  • 读取图像
  • 转为灰度图
  • 二值化(利用灰度直方图)
  • 计算连通域(connection)
  • blob分析(利用特征直方图)

1、第一部分

1.采集图片

助手->Image Acquisition->自动接口检测->连接->实时

如果要 更换颜色空间为灰色,那么就选择 颜色空间->gray

再次点击连接->实时

设置完后,可以在点击插入代码,就可以在光标处插入

得到

* Image Acquisition 01: Code generated by Image Acquisition 01
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] ', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
while (true)
    grab_image_async (Image, AcqHandle, -1)
    * 显示图片
    dev_display(Image) 
endwhile
close_framegrabber (AcqHandle)

2.转为灰度图

输入Image,输出GrayImage

rgb1_to_gray(Image,GrayImage)

3.二值化

将程序运行到获得GrayImage,打开灰度直方图

点击阈值(使得红色得叉变成绿色的勾),然后就可以拖动绿色的线来改变阈值了

然后点击插入

threshold (Image, Regions, 121, 254)

注意区域与图像得区别,图像(gray)是有灰度值得,但是区域没有

4.计算连通域分离区域

注意在halcon中,二值化的结果是,区域Region是一整块的,为了使得每一个区域都分离,要加上connection(计算连通区域)

connection (Regions, ConnectedRegions)

5.blob分析

点击特征直方图

可以通过选取面积的最小值和最大值,通过面积来选取特征

同样可以添加特征,比如圆度,越接近1,越接近圆

最后点击插入代码

8.查看区域

通过计算连通域得到的ConnectedRegions,查看,可以右击该图片变量,选择清除/显示,就可以查看该区域了

9.获得面积和区域的中心坐标

area_center (SelectedRegions, Area, Row, Column)

2、第二部分

打开例子

可以找到中值滤波

另外可以在 程序开始的时候输入

关闭窗口和打开窗口

或者适应图片大小,打开窗口

dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)

填充空洞

输出一条文本信息(disp_message第二个参数,就是输出的文本信息)

描绘边缘

或者在这里,选择margin

3、第5讲完整代码

4.自己的练习

* 读取图像
read_image (Image, 'C:/Users/xuheding/Desktop/1.jpg')
* 关闭窗口和打开新的适应图片窗口
dev_close_window()
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
* 转为灰度图
rgb1_to_gray(Image,GrayImage)
* 二值化
threshold (GrayImage, Regions, 57, 255)
* 计算连通域
connection (Regions, ConnectedRegions)
* blob分析
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 704082, 759740)

原图

处理后的图


相关文章
halcon的灰度变换(图像增强)
halcon的灰度变换(图像增强)
911 1
halcon算子模板匹配(一)基于形状的模板匹配
halcon算子模板匹配(一)基于形状的模板匹配
2848 0
Halcon找圆系列(1)如何检测圆形
Halcon找圆系列(1)如何检测圆形
2443 0
Halcon找圆系列(1)如何检测圆形
|
算法 数据可视化
Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans内接和外接算子的说明
Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans内接和外接算子的说明
2666 0
Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans内接和外接算子的说明
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
5163 1
|
算法
halcon系列之直线拟合和圆形拟合算子
halcon系列之直线拟合和圆形拟合算子
1399 0
Halcon 学习笔记四:blobl分析案例
Halcon 学习笔记四:blobl分析案例
329 0
[Halcon&笔记] 特征选择中的常用特征总结
[Halcon&笔记] 特征选择中的常用特征总结
481 0
halcon基础系列之二维量测相关算子
halcon基础系列之二维量测相关算子
496 0
|
大数据 计算机视觉
Halcon 学习笔记三:形态学
Halcon 学习笔记三:形态学
585 0