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)

原图

处理后的图


相关文章
|
4月前
|
计算机视觉 Python
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
使用OpenCV库将一个文件夹内的所有彩色图片批量转换为灰度图,并提供了相应的Python代码示例。
55 0
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
|
定位技术
【gis】gdal 切分遥感 tif 格式图片
【gis】gdal 切分遥感 tif 格式图片
576 0
【gis】gdal 切分遥感 tif 格式图片
|
8月前
|
存储 编解码 API
【图像文本化】Base64编解码OpenCV4中 Mat 对象
【图像文本化】Base64编解码OpenCV4中 Mat 对象
145 0
|
定位技术
ENVI: 如何创建GLT文件并基于GLT对图像进行几何校正?
ENVI: 如何创建GLT文件并基于GLT对图像进行几何校正?
657 0
|
9月前
|
存储 传感器 监控
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
336 0
|
9月前
|
C++ 计算机视觉
[Qt5] 各种方式的图像读取,支持中文路径(Halcon)
[Qt5] 各种方式的图像读取,支持中文路径(Halcon)
201 0
[Qt5] 各种方式的图像读取,支持中文路径(Halcon)
|
9月前
|
数据可视化
Halcon 学习笔记一:基本操作以及读取与保存图片
Halcon 学习笔记一:基本操作以及读取与保存图片
1214 0
|
9月前
Halcon 学习笔记四:blobl分析案例
Halcon 学习笔记四:blobl分析案例
172 0
|
人工智能 前端开发 Linux
Python编程:利用ImageMagick转换PDF为图片并识别提取图表
Python编程:利用ImageMagick转换PDF为图片并识别提取图表
352 0
|
API 数据安全/隐私保护 计算机视觉
Opencv(图像处理)-基于Python-图像的基本运算-给图片加水印
Opencv(图像处理)-基于Python-图像的基本运算-给图片加水印
213 0
Opencv(图像处理)-基于Python-图像的基本运算-给图片加水印

热门文章

最新文章