Halcon
ilovelab
这个作者很懒,什么都没留下…
展开
-
Halcon求矩形的中心线
halcon的矩形rectangle2定义read_image (Image, 'C:/Users/Administrator/Desktop/2021-07-15_133336.bmp')rgb1_to_gray (Image, GrayImage)threshold (GrayImage, Region, 0, 122)smallest_rectangle2 (Region, Row, Column, Phi, Length1, Length2)gen_rectangle2 (R.原创 2021-07-15 13:47:09 · 2081 阅读 · 0 评论 -
Basler相机外部触发硬件设置
1、相机硬件接线图参考链接:https://wenku.baidu.com/view/dcc580e579563c1ec4da7168.html原创 2021-06-04 16:01:07 · 3829 阅读 · 0 评论 -
大恒水星系列Gige数字相机外触发接线
PLC或机器人输出IO作为相机的触发信号大恒水星系类Gige数字相机外触发线接到台达PLC或者雅马哈机器人IO输出端,作为触发信号的接线方法。手册里提供的接线图如下转换为接线图如下图注意:此电路中要在PLC或机器人的对应输出IO上接相应的上拉电阻,一般串进去2KΩ的电阻。...原创 2020-12-11 11:09:34 · 5115 阅读 · 0 评论 -
Halcon图像显示控件,有右击选项的功能时,如何避免与DrawCircle函数右击结束绘制时冲突
private void 圆ToolStripMenuItem_Click(object sender, EventArgs e) { try { hwc_imageWindow.DrawModel = true; HOperatorSet.SetColor(WindowHandle, new HTuple("green")); //先将Conte.原创 2020-09-29 16:52:22 · 1218 阅读 · 0 评论 -
Halcon搜索模板边界部分的处理
边界处理set_system('border_shape_models','true') 模板可以部分在ROI外set_system('border_shape_models','false') 模板必须在ROI内原创 2020-09-29 09:20:13 · 689 阅读 · 0 评论 -
Halcon文字显示在图像控件上范例参考
原创 2020-08-03 20:04:50 · 969 阅读 · 0 评论 -
Halcon - 图像随 HWindowControl 控件缩放的同时,保持图像的长宽比例不变
HTuple width, height; HOperatorSet.GetImageSize(ho_Image, out width, out height); #region 设置自适应 double ratioWidth = (1.0) * width / hWindowControl1.Width; double ratioHeight = (1.0) * height / hW...原创 2020-08-03 19:33:53 · 1396 阅读 · 1 评论 -
Halcon 去除ROI边界区域region,和ROI边界有交集的部分
read_image (Image060gmWg105WMa120WWd230165mm, 'C:/Users/Administrator/Desktop/有隔弧片060GM+WG105-W+MA120-W WD230 165mm.bmp')set_system ('tsp_clip_region', 'false')draw_rectangle1 (200000, Row1, Column1, Row2, Column2)gen_rectangle1 (Rectangle, Row1, Colum.原创 2020-08-03 15:38:56 · 3335 阅读 · 0 评论 -
Halcon畸变矫正实现
参考视频https://www.bilibili.com/video/av41796442/可以先使用标定助手获取标定参数在标定助手的安装页面,注意标定板的描述文件,投影模型参数的设置在标定页面先选择一幅图设为参考位姿,之后点击标定标定完之后获得相机内参,图片矫正程序方法* Calibration 01: Code generated by Calibration 01CameraParameters := ['area_scan_division',0.0186441,-520原创 2020-06-20 10:21:08 · 7084 阅读 · 2 评论 -
halcon之NCC匹配
NCC匹配基于Normalized cross correlation(NCC)用来比较两幅图像的相似程度已经是一个常见的图像处理手段。在工业生产环节检测、监控领域对对象检测与识别均有应用。NCC算法可以有效降低光照对图像比较结果的影响。而且NCC最终结果在0到1之间,所以特别容易量化比较结果,只要给出一个阈值就可以判断结果的好与坏。传统的NCC比较方法比较耗时,虽然可以通过调整窗口大小...转载 2019-11-15 14:52:13 · 3689 阅读 · 0 评论 -
机器视觉检测的基础知识——分辨率,精度,公差
导读 视觉行业的初学者,甚至是做了1-2年的销售也许还会困惑这样的事情,就是在拿到检测要求后,不知道根据图纸上的公差,应该选用多少万像素的相机。同时还不明确为什么要三个类似的专有名词来描述同一个事情。 这一期内容就是为了讲明白这一件事情:分辨率,精度,公差的关系。从而指导相机的选型。 分辨率(Resolution) 比如我要看的产品大小是30mm*10mm,使用...转载 2019-09-07 09:15:22 · 10429 阅读 · 2 评论 -
Halcon如何保存仿射变换矩阵
*Halcon源代码:hom_mat2d_identity (HomMat2DIdentity)hom_mat2d_rotate (HomMat2DIdentity, -0.3, 256, 256, HomMat2D_1)*保存变换矩阵serialize_hom_mat2d (HomMat2D_1, SerializedItemHandle)open_file ('1.m...转载 2019-06-04 16:15:07 · 3336 阅读 · 0 评论 -
根本解读:无法加载+DLL“halcon”:+找不到指定的模块
该问题的解决方案摘自:https://www.51halcon.com/thread-997-1-1.html这个问题处理时是使用下面的方法:根本解决方法:把Halcon运行支持目录添加到系统环境配置中去(windows系统环境支持都需要在PATH目录),因为这个目录里面还有很多采集的库需要依赖,特别很多人写halcon的相机采集的时候,其实整个目录里面的dll都是需要依赖的,也就是Ru...转载 2019-06-15 09:34:07 · 8831 阅读 · 0 评论 -
判断两个圆是否相交
摘自QQ群里圆心距大于等于半径之差的绝对值,小于等于两半径之和原创 2019-06-19 08:43:05 · 2731 阅读 · 0 评论 -
Halcon算子--区域特征
当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一些特殊特征,来选择指定的Region。求Region指定特征值:region_features(Regions : : Features : Value)根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Operat...转载 2019-04-24 08:42:20 · 356 阅读 · 0 评论 -
Halcon 和 C# 联合编程 - 如何使用开源项目 ViewROI
摘自:https://www.cnblogs.com/zdfffg/p/10271126.htmlViewROI类只有在Halcon12.0版之前的有,所以要从该版本中获取该类声明HWndCtrl _viewCtrl;ROIController _roiCtrl;初始化_viewCtrl = new HWndCtrl(hWindowControl);_roiCtrl =...转载 2019-05-06 14:00:38 · 4281 阅读 · 0 评论 -
针对相机在下面,测量物体在上面的旋转平移定位方法
接触有一项目,相机在下面,被定位物体在上面,对产品要进行旋转和平移校正,机械手吸取产品时的位置不定,属于盲吸,这时机械手的吸盘和被定位物体的中心不一定在同一个位置,此时要对产品进行旋转和平移校正。取产品的一个角点进行定位。要注意此时,机械手的吸盘中心在相机拍照位的位置是固定的,也即被定位物体在相机视野里的旋转中心是确定的,即吸盘的位置,也就是要先要标定出吸盘的坐标(相机坐标系或机器人坐标系),...原创 2019-05-21 11:08:08 · 2764 阅读 · 0 评论 -
Halcon算子之fit_line_contour_xld,用于对一些线段的XLD做近似计算
******注意查看Halcon帮助文档函数原型:fit_line_contour_xld( Contours : : Algorithm, MaxNumPoints, ClippingEndPoints, Iterations, ClippingFactor : RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist )函数作用:...翻译 2019-05-25 14:46:47 · 6083 阅读 · 0 评论 -
谈一谈机器视觉里的定拍与飞拍
定拍就是轴运动到拍照位停下来相机拍照处理,然后把结果反馈给执行机构。飞拍就是轴运动到拍照位时运动不停完成拍照处理以及结果反馈。摘自网上的一段对于定拍与飞拍的比较:摘自:https://www.digitimes.com.tw/iot/article.asp?cat=130&id=0000545948_PWE8YUCK5AS5K874Q6GM8定拍与飞拍的抉择,乃是精度与速度...原创 2019-05-22 11:20:39 · 17386 阅读 · 0 评论 -
一些图像处理的小思路
1、怎么检测蓝色方框内黑色线条是否交叉---------提取轮廓 判定距离提取出线条region,并求出线条xld,分别计算线条xld的距离,在进行xld连接时使用线与线的连接。2、提取出图片中的小圆的位置信息--------使用create_shape_model,创建一个小圆的shape。参考范例matching/synthetic_circle.hdev...原创 2019-05-22 11:33:50 · 381 阅读 · 0 评论 -
生成一串测量矩形并在矩形里进行做一些处理
生成这样的一串矩形并在矩形里可以做一些测量,阈值或其他的运算,目前没有想到更好的方法,目前是使用draw_line (200000, Row1, Column1, Row2, Column2)gen_region_line (RegionLines, Row1, Column1, Row2, Column2)create_metrology_model (MetrologyHandle)...原创 2019-05-22 11:47:41 · 337 阅读 · 0 评论 -
使用metrology跟随检测两条直线,并求出两条线的交点
这篇文章主要完成三个功能:1、检测直线2、metrology跟随检测直线3、求出两条直线的交点参考范例为apply_metrology_model_diamond.hdev效果如下图程序代码如下:read_image (Test, 'C:/Users/yue/Desktop/test.png')rgb1_to_gray (Test, GrayImage)dev...原创 2019-05-13 11:06:58 · 2423 阅读 · 0 评论 -
求外接矩形的四个顶点坐标
read_image (Image, '无标题.png')*方法1进行角点检测* points_foerstner (Image, 1, 2, 3, 200, 0.3, 'gauss', 'false', RowJunctions, ColumnJunctions, CoRRJunctions, CoRCJunctions, CoCCJunctions, RowArea, Col...原创 2019-06-05 10:02:08 · 5121 阅读 · 1 评论 -
hom_mat2d_translate与vector_angle_to_rigid
hom_mat2d_translate( : :HomMat2D,Tx,Ty:HomMat2DTranslate)其中Tx,Ty为平移矢量,是在原点的平移矢量因此在进行平移变换时,先将待平移物体平移到原点位,对平移到原点的region,之后再进行平移变换时,都是将转到原点的region进行之后的平移变换。这种比较适合于find_shape_model(),获得的轮廓中心...原创 2019-05-29 17:07:51 · 6223 阅读 · 0 评论 -
HALCON图像采集之同步采集(synchronous)与异步采集(asynchronous)
目前在使用grab_image_async进行图像采集时,发现使用grab_image_async算子触发读取时会有前几张图上来,不能读取上当前的图片,最后换成了grab_image进行图像获取。grab_image (Image, AcqHandle) //(同步采集)完后处理图像,然后再采集图像。采集图像的速率受处理速度影响。grab_image_async (Imag...原创 2019-06-02 14:24:30 · 4851 阅读 · 0 评论 -
字符分割时对粘连字符的处理方法
方法1:opening_rectangle1 (Solid, Cut, 1, 7),使用该方法进行分割,1是宽度,7是高度。Halcon范例bottle.hdev: Segment and read numbers on a beer bottle方法2:使用partition_rectangle或partition_dynamic进行等间隔的字符分割,要求字符的间隔尽量保持一致parti...原创 2019-04-23 16:54:46 · 3953 阅读 · 0 评论