当前位置:首页 >> 信息与通信 >>

halcon学习经验


HalCon 学习经验总结 1. 图像的开运算和闭运算算子 开运算就是用消除图像上的小物体,小区域,将纤细相连的物体分开, 将大物体的表 面平滑与此同时不明显改变他的面积。扩大背景(就是暗的部分) ,缩小前景(就是亮 的部分) 。模板匹配等 闭运算就是填充物体内细小的空洞,连接邻近的物体, 平滑物体的边界同时呢不明显 改变他的面积。 缩小背景(就是暗的部分) ,扩大前景(就是亮的

部分) 开运算:先对图像腐蚀然后膨胀 闭运算:先对图像膨胀然后腐蚀 必要的解释: 一:HALCON 提供了开运算、闭运算的函数(算子) ,根据结构元素的不同( 圆的 方 的 椭圆的 或是自己定义也可以)细化出很多算子。这些都是细枝末节。此处不再赘 余。 。 二:开闭运算的结构元素没有参考点(中心点)的概念。 三:开闭运算 没有迭代的概念,就是图像 被同样结构元素做开运算,处理一次 和处 理随意非零次的效果是一样的。 gray_opening_rect (ImageInvert, ImageOpening, 20, 20) gray_closing_rect (ImageInvert, ImageClosing, 20, 20) connection (ImageOpening,tophat) connection (ImageClosing,bothat) sub_image (bothat,tophat,ImageSub, 1, 0) union1 (ImageSub, RegionUnion) 击中击不中(hit_or_miss) ,加厚(thickening) ,打薄(thinning) thickening: 原始图像 + 对图像使用击中击不中产品的图像 thinning: 原始图像 对图像使用击中击不中产品的图像 击中击不中原理 继膨胀、 腐蚀、 开运算和闭运算之后的有一个基本操作就是击中击不中变换 (HMT) , HMT 变换可以同时探测图像的内部和外部。在研究图像中的目标物体与图像背景之间 的关系上,HMT 能够取得很好的效果。所以常被用于解决目标图像识别和模式识别等 领域。

2.

A>结构元素是形态学变换中的基本元素,是为了探测图像的某种结构信息而设计的特 定形状和尺寸的图像,也可以称为收集图像结构信息的探针。结构元素有许多的种类, 如圆形、方形、线型等,还有二值的和灰度值的,模糊集中的等等多种结构元素。在击 中击不中变换中将结构元素分解成两个, 一个定义为前景结构元素, 一个定义为背景结 构元素,定义如下:

B=(E,F), B>HMT 的标准变换的定义就是:

其中 E 的 F 交集为空集

腐蚀操作的结果就是结构元素 S 平移 x 但任包含在输入图像 A 内部的所有结构元 素的原点集合,对于 HMT 变换,当且仅当结构元素 E 平移到某一点可以填入 A 的内 部,且 F 平移到该点时可以填入 A 的外部时,该点才能在 HMT 变换的结果中输出。由 于需要精确的匹配,因此该算法对识别的要求很高,但是对于实际的图像,往往含有各 种未知的噪声,即会出现误差,所以实际的意义不是很大

它的原理就是使用腐蚀;如果要在一幅图像 A 上找到 B 形状的目标,我们要做的是: 首先,建立一个比 B 大的模板 W;使用此模板对图像 A 进行腐蚀,得到图像假设为 Process1; 其次,用 B 减去 W,从而得到 V 模板(W-B);使用 V 模板对图像 A 的补集进行腐蚀, 得到图像假设为 Process2; 然后,Process1 与 Process2 取交集得到的结果就是 B 的位置。这里的位置可能不是 B 的中心位置,要视 W-B 时对齐的位置而异; 其实很简单,两次腐蚀,然后交集,结果就出来了; 3. 4. 形态学分析与处理 顶帽变换(高帽变换,Top_Hat) :原图 减去 原图开运算后的图 底帽变换(低帽变换,Bot_Hat) :原图闭运算后的图 减去 原图 高低帽变换(黑土老师叫:形态帽变换 ,洋名叫:morph_hat) : 顶帽变换的结果+ 底帽的变换的结果。 (高低帽变换在 HALCON 里面具体的操作流程是: A:原图开运算 然后 使用 Connection 最后得到 区域甲 B:原图闭运算 然后 使用 Connection 最后得到到区域乙 C:乙减去甲 然后 合并 union 最后得到 高底帽。 )

功用: 顶帽变换:主要是用于增强图像的对比度,在较暗的地方 把亮突出出来。 底帽变换:在较暗的背景中 把亮的部分找出来。 高底帽变换: 就是亮的刺头 和暗的刺头全部提取出来。

Halcon 学习之八:图像区域叠加与绘制
overpaint_gray ( ImageDestination, ImageSource : : : ) 将灰度值不相同区域用不同颜色绘制到 ImageDestination 中, ImageSource 包含希望的灰度值图像 overpaint_region ( Image, Region : : Grayval, Type : ) 将 Region 以一个恒定的灰度值绘制到 Image 图像中 paint_gray ( ImageSource, ImageDestination : MixedImage : : ) 将 ImageSource 的图像绘制到 ImageDestination 中,形成 MixedImage。 paint_region ( Region, Image : ImageResult : Grayval, Type : ) 将 Region 以一个恒定的灰度值绘制到 Image 图像中 paint_xld ( XLD, Image : ImageResult : Grayval : )

将 XLD 以一个恒定的灰度值绘制到 Image 图像中 set_grayval ( Image : : Row, Column, Grayval : ) 设置 Image 图像中坐标为(Row,Column)的灰度值 例子:
1. read_image (Image, 'G:/Halcon/images/images/claudia.png') 2. gen_circle (Circle, 200, 200, 100.5) 3. reduce_domain (Image, Circle, ImageReduced) 4. gen_image_proto (Image, ImageCleared, 32) 5. overpaint_gray (ImageCleared, ImageReduced) 6. gen_image_const (Image1, 'byte', 512, 512) 7. overpaint_region (Image1, Circle, 255, 'fill') 8. * /* Copy a circular part of the image into the image : */

9. read_image (Image2, 'G:/Halcon/images/images/brycecanyon1.png') 10. paint_gray (ImageReduced, Image2, MixedImage) 11. * /* Paint a rectangle into the image */ 12. read_image (Image3, 'G:/Halcon/images/images/pads.png') 13. gen_rectangle1 (Rectangle1, 30, 20, 100, 200) 14. paint_region (Rectangle1, Image3, ImageResult, 255, 'fill') 15. * /* Paint colored xld objects into a gray image */ 16. * /* read and copy image to generate a three channel image */ 17. copy_image (Image2, image0) 18. copy_image (Image2, image1) 19. compose3 (image0, Image2, image1, MultiChannelImage) 20. * /* extract subpixel border */ 21. threshold_sub_pix (MultiChannelImage, Border, 128) 22. * /* select the circle and the arrows */ 23. circle := Border[14] 24. arrow := Border[16] 25. ObjectsConcat := [circle,arrow] 26. * /* paint a green circle and white arrows (to paint all 27. * * objects e.g. blue, pass [0,0,255] tuple for GrayVal) */ 28. paint_xld (ObjectsConcat, MultiChannelImage, ImageResult1, [0,1,0,1,1,255])


相关文章:
halcon学习经验
halcon学习经验_信息与通信_工程科技_专业资料。halcon学习经验总结HalCon 学习经验总结 1. 图像的开运算和闭运算算子 开运算就是用消除图像上的小物体,小区域,将纤...
Halcon学习博客整理
Halcon学习博客整理_计算机软件及应用_IT/计算机_专业资料。halcon学习博客整理 HALCON 算子函数 (一) Classification 1.1 Gaussian-Mixture-Models 1.add_sample_...
《HALCON学习教程》目录
HALCON学习教程》目录_计算机软件及应用_IT/计算机_专业资料。HALCON 学习教程 2015 年 8 月 30 号正式上线 (封皮彩色,内页黑白色) 目 录 前言. ...HALCON...
halcon学习笔记——实例篇 长度和角度测量+
halcon学习笔记——实例篇 长度和角度测量+_计算机软件及应用_IT/计算机_专业资料。halcon 学习笔记——实例篇 长度和角度测量实例二:长度和角度测量 素材图片: ...
halcon学习笔记
halcon学习笔记_计算机软件及应用_IT/计算机_专业资料。机器视觉工程应用主要可划分为硬件和软件两大部分。硬件:工程应用的第一步就是硬件 选型。 硬件选型很关键, ...
Halcon学习笔记
Halcon学习笔记_计算机硬件及网络_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 Halcon学习笔记_计算机硬件及网络_IT/计算机_专业资料。Halcon学习笔记...
Halcon学习笔记之二
Halcon 学习之二:摄像头获取图像和相关参数 1、close_all_framegrabbers ( : : : ) 关闭所有图像采集设备。 2、close_framegrabber ( : : AcqHandle : ) ...
Halcon学习笔记
Halcon 学习笔记 1、Halcon 的自我描述 Program Logic Each program consists of a sequence of HALCON operators The program can be structured into procedures ...
跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量
跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量_计算机硬件及网络_IT/计算机_专业资料。跟我学机器视觉-HALCON 学习例程中文 详解-IC 引脚测量 * Lead Measureme...
跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量
跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量_电子/电路_工程科技_专业资料。跟我学机器视觉-HALCON 学习例程中文 详解-开关引脚测量 * This example program...
更多相关标签: