如下图,想取得这根条状物的突出来的“刺”。寻找图中边缘突出的部分,解决思路:1、阈值分割,找出黑色部分2、生成一个小矩形作为StructElement,进行opening操作,即可找到如下图的部分3、与阈值分割后的进行difference操作,即可找到突出部分,后面再进行求取突出的最边缘部分。上代码:read_image (Image, 'C:/Users/gongyong/Desktop/第八讲图2.bmp')
decompose3 (Image
勇哥项目中有下面这个拍照函数GrabOneImage()。在其它十几台设备上面运行没发现有什么问题,但是最近发现有一台设备上长时间运行不到半小时,程序就报告崩溃。错误原因是内存不足。 public bool GrabOneImage(bool isDebug)
{
 
这篇主要是C#和Halcon的混合编程,写给新手们看的。halcon源程序:dev_open_window(0, 0, 512, 512, 'black', WindowHandle)read_image (Image, 'C:/Users/Administrator/Desktop/猫.jpg')dev_display(Image)get_image_size(Image, Width, Height)rgb3_to_gray(Image, Image, Ima
如果不使用模板来进行ROI更随,该如何做到呢?勇哥先把图片放上来:我想所有人都会想到用形态学算法,阈值勾出电池本体,然后取得电池角度与位置信息,就可以ROI跟随了。难点在哪里呢?我们的目的是:“取电池几何中心的位置与电池的方向。”那么电池的几何中心可以是电池整个外接最小矩形的中心,这个比较容易办到的。但是方向呢?我们可以取电矩形本体的外接矩形的角度做为方向,但是这一点因为极耳的干扰,我们取到本体的矩形并不容易做到。也许有人认为取上图所示电池的顶边就可以确定方向了,但是客户的电池因为是软包的,你永
运行程序前先创建ROI以创建模板,然后顺时针或者逆时针绘制三根直线,以确定找线的方向与距离。由于找线的时候是模板跟随的,最后得到下面的结果:代码如下:其中draw_rake,dev_display_shape_matching_result,rake,pts_to_best_line为外部算子。有需要的朋友可以找勇哥索取。dev_close_window ( )
read_image (Image, 'C:/Users/Administrator
halcon17的找线功能其实是对之前halcon10版本找线方法的封装。勇哥下面这几篇文章介绍了halcon10版本的找线方法,你会发现,halcon17的找线算子的参数其实跟这篇文章介绍的差不多的。Halcon学习(27-2)halcon测量技术:找线带ROI跟随的找边测试代码(halcon代码演示)经过封装后的找线算子,还是非常好用的,你只需要给定找线的起始与终止点即可。演示代码如下:read_image (Image, 'G:/pic2/8.bmp')
勇哥手头上的C#工程要由基于halcon10视觉的改为halcon17版的视觉。更换的原因是因为halcon17比较新比较潮,不能落伍…… 其实是因为halcon10的窗体控件以及内存泄露方面有些问题。勇哥在这里记录一下以备忘。首先把halcon17的下面两个目录下的dll全部复制到你程序的bin目录下面。然后在你的程序中,凡是用到halcondotnet的引用,全部删除,引用新版的。版本号如划线处所示17.12.0.0在你的代码中,凡是用到“GigEVision”的都改成“GigEvision
1. 仿射变换类型 仿射变换有:平移、旋转、缩放、斜切(就是将斜体字导正)。2. 求稳定的特征点 要进行仿射变换,必须先获取变换矩阵。要获取变换矩阵,必须先获取特征点坐标、角度等信息,几何匹配和bolb是获取特征点的高效方法,除此之外还有其它方法,只要能稳定的求出特征点即可。 3.仿射变换流程 (1.)获取特征点坐标、角度
以前在使用算子OpenFramegrabbe连接相机时,一般是这样的:open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', 'defa
形态模板的定义与查找是工业视觉里最基本的常用操作。下面勇哥提供一个例子。下图是定义形态模板,并且显示模板轮廓。换一张不同姿式的图片,查找模板,并显示模板轮廓、ROI、中心点。dev_set_draw ('margin')
dev_set_color('green')
dev_close_window()
dev_open_window(0, 0, 512, 382, 'black',