【机械视觉】Halcon—【八、形态学调整和生成棋盘格】
【机械视觉】Halcon—【八、形态学调整和生成棋盘格】
目录
【机械视觉】Halcon—【八、形态学调整和生成棋盘格】
介绍
操作运用
1. 读取图像
2. 形态学操作
3. 显示结果
4. 保存结果
棋盘格
介绍
在图像处理中,形态学操作是一种基于形状的分析方法,常用于图像的滤波、边缘检测、噪声移除等。在Halcon中,形态学操作可以通过使用形态学滤波器(如膨胀、腐蚀、开运算、闭运算等)来实现。下面将详细介绍如何在Halcon中使用形态学操作来调整灰度图像。
操作运用
1. 读取图像
首先,你需要读取一个灰度图像。可以使用read_image函数来读取图像。
read_image(Image, 'path_to_your_image')
2. 形态学操作
a. 膨胀(Dilation)
膨胀操作可以增加图像中的白色区域,减小黑色区域间的距离。(扩大亮区域,减小暗区域)
dilation_circle(Image, ImageDilated, 5) // 使用半径为5的圆形结构元素进行膨胀
b. 腐蚀(Erosion)
腐蚀操作会减小图像中的白色区域,增加黑色区域间的距离。(缩小亮区域,扩大暗区域)
erosion_circle(Image, ImageEroded, 5) // 使用半径为5的圆形结构元素进行腐蚀
c. 开运算(Opening)
开运算是先腐蚀后膨胀,用于去除小对象和小的孔洞。
opening_circle(Image, ImageOpened, 5) // 使用半径为5的圆形结构元素进行开运算
d. 闭运算(Closing)
闭运算是先膨胀后腐蚀,用于填充小的孔洞和连接邻近的对象。
closing_circle(Image, ImageClosed, 5) // 使用半径为5的圆形结构元素进行闭运算
3. 显示结果
使用dev_display函数来显示处理后的图像。
dev_display(ImageDilated) // 显示膨胀后的图像
dev_display(ImageEroded) // 显示腐蚀后的图像
dev_display(ImageOpened) // 显示开运算后的图像
dev_display(ImageClosed) // 显示闭运算后的图像
4. 保存结果
如果你想保存处理后的图像,可以使用write_image函数。
write_image(ImageDilated, 'png', 0, 'path_to_save_dilated_image') // 保存膨胀后的图像为PNG格式
以上就是在Halcon中进行灰度形态学调整的基本步骤。你可以根据具体需求选择合适的形态学操作,并调整结构元素的大小以获得最佳效果。
棋盘格
* 获取系统参数的算子,使用neighborhood 返回的是系统支持的领域关系
* 4邻域: 只考虑上下左右相连的像素
* 5邻域: 考虑上下左右相连以及四个角的像素
get_system ('neighborhood', Information)dev_set_color ('white')
* 绘制一个64像素*64像素的棋盘格,在511*511区域里面绘制
*gen_checker_region (RegionChecker, 511, 511, 64, 64)
gen_checker_region (RegionChecker1, 511, 511, 15, 15)connection (RegionChecker1, ConnectedRegions)set_system ('neighborhood',4) // 设置4邻域dev_clear_window ()
dev_display (ConnectedRegions)