摘要: 例图: 完整算法: 结果: 步骤分析: ① 图像三角形主要由3根直线构成; ② 阈值化、skeleton提取骨架、将骨架(region)转为xld、将xld打散分割、筛选xld得到3条主xld、将这3条xld拟合成3条直线。 效果分析: 这种算法虽然步骤简单,但是其实鲁棒性并不好。主要风险在“筛选x 阅读全文
posted @ 2018-10-13 10:40 xh6300 阅读(17260) 评论(5) 推荐(1) 编辑
摘要: gen_empty_obj 算子解释: Create an empty object tuple。 其算子签名为: gen_empty_obj( : EmptyObject : : ) 那么有人要问:创建一个空的object有什么用呢? 其实gen_empty_obj 的作用类似于面向对象编程中的“ 阅读全文
posted @ 2018-09-05 17:23 xh6300 阅读(3089) 评论(0) 推荐(0) 编辑
摘要: Json数据解析主要使用开源的类库Newtonsoft.Json来进行解析。 具体参考: https://blog.csdn.net/sajiazaici/article/details/77647625 如果有时候遇到Json数组,即同一种数据结构多次出现,例如: [{"name":"abc"," 阅读全文
posted @ 2018-07-30 15:33 xh6300 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 首先吐槽一句,官方的demos写的真的不好,坑爹啊。对于小白来说,开发官方demos为我所用太难了。为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅有采图的代码库,还有用于显示的UI库(它不是用Winform的PictureBox显示图片,而是用它 阅读全文
posted @ 2018-06-21 17:29 xh6300 阅读(20193) 评论(25) 推荐(5) 编辑
摘要: 有经验的机器视觉工程师都会认可这样一句话:机器视觉项目的成败在于能否得到一张打光优秀的图片。如果采集到的图片本身“质量”很差,那么接来下的图像处理工作就会困难重重。 由于项目的需求以及光源厂商的努力,目前机器视觉光源的类型可以说十分丰富,例如条光、背光、平行背光、同轴光、点光、隧道光、碗光、环形光、 阅读全文
posted @ 2017-09-23 22:56 xh6300 阅读(16252) 评论(2) 推荐(6) 编辑
摘要: Halcon中如何通过灰度线性映射增强图片对比度呢?不急,我先讲点其他的。 如果你用过Photoshop,那么想必对增强图像的对比度很熟悉。在Photoshop中,我们对下面这张图执行“色阶”调整: 执行“色阶”调整:可以观察到图片的对比度明显增强。(白的更白,黑的更黑了) 它的原理是这样的:将原图 阅读全文
posted @ 2017-09-12 22:20 xh6300 阅读(5984) 评论(2) 推荐(1) 编辑
摘要: 对于很多小项目来说,不需要搭建专门的数据库系统(例如用SQLite搭建本地数据库),这时可以用ini配置文件实现一个最基本的数据库,实现数据库最基本的增删改查功能。 ini配置文件的用法参考我以前写的文章:http://www.cnblogs.com/xh6300/p/5895759.html 这种 阅读全文
posted @ 2017-09-05 23:06 xh6300 阅读(1775) 评论(0) 推荐(1) 编辑
摘要: 我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角。那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析。 这三个点在Halcon中的位置如下图: 上面的程序最终生成了一个名为threePoint.dxf的文件。我用文本查看器(notepa 阅读全文
posted @ 2017-08-31 21:43 xh6300 阅读(13686) 评论(0) 推荐(3) 编辑
摘要: 二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。 Halcon中进行仿射变换的常见步骤如下: ① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0. 阅读全文
posted @ 2017-08-28 00:13 xh6300 阅读(33793) 评论(3) 推荐(14) 编辑
摘要: Halcon中可以通过concat_obj合并多个XLD,并且可以通过write_contour_xld_dxf再将XLD保存为.dxf文件。但是,保存后的.dxf文件用AutoCAD打开后发现,它们都是位于一个图层上的(0号图层),并且颜色都是白色(颜色代号7)。 如下所示: 有时候,我们要求这些 阅读全文
posted @ 2017-08-25 22:18 xh6300 阅读(3597) 评论(0) 推荐(0) 编辑
摘要: 在Halcon中,Region和XLD之间可以彼此转换。但这种转换并不是“无损”的,XLD可以是不闭合的,但是Region一定是闭合的。因此,如果将不闭合的XLD转为Region,然后再转回XLD,那么转换后的XLD和原先的XLD就有了一定的区别。 言归正传,先说说Region的缩放。 一、Regi 阅读全文
posted @ 2017-08-22 23:29 xh6300 阅读(7897) 评论(2) 推荐(1) 编辑
摘要: 线扫相机的原理:线扫相机一般一次只拍摄一条线(线宽通常是1个像素),在机构运动的过程中,线扫相机不断地拍摄线,于是“聚线成面”,这就是线扫相机成像的原理。 线扫相机的原理决定了,它所拍摄的物体必须要运动。机构运动的话,就存在机构的速度是否和线扫相机采集的速度匹配的问题。 将对机构运动速度的要求进行拆 阅读全文
posted @ 2017-08-22 21:17 xh6300 阅读(2211) 评论(1) 推荐(1) 编辑
摘要: 生活中,我们通常会遇到这种问题:一个文件夹内部有多个子文件夹,每个文件夹内部有很多图片,我们想改变这些图片的格式。 例如.png格式图片支持背景透明,但我们想把它变成背景不透明的.jpg图片。又比如.bmp格式是非压缩图片,我们想把它转换为无损压缩的.png图片以节省存储空间。 如果图片数量很少,很 阅读全文
posted @ 2017-07-30 23:30 xh6300 阅读(16895) 评论(1) 推荐(1) 编辑
摘要: 读取扫码枪扫出的条码通常需要考虑以下问题: 1、每次使用的码应该都是最新的有效的码。 2、如果遇到跟上次一样的码,则不更新,反之则更新。 3、需要对条码进行校验。 4、如果操作人员忘记扫码,需要有机制能发现并提醒操作人。 一般读码的设计通常有两种思路: ① 条码框接收到条码之后,存储该次条码,并立即 阅读全文
posted @ 2017-03-30 23:00 xh6300 阅读(564) 评论(0) 推荐(1) 编辑
摘要: 有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图。tile_images和tile_images_offset就是用于简单拼图的2个算子。 谈到拼图,肯定有以下问题要明确: 1、将多少张图拼起来?由于是多张图,这需要一个元组来存储多张图片的集合。 2、是横向拼图, 阅读全文
posted @ 2017-03-30 22:30 xh6300 阅读(6285) 评论(0) 推荐(0) 编辑
摘要: select_shape_proto是一个非常有用的region筛选算子,但是由于难以理解,因此一般人使用得不是太多。 算子签名如下: select_shape_proto(Regions, Pattern : SelectedRegions : Feature, Min, Max : ) 其中Fe 阅读全文
posted @ 2017-03-30 20:50 xh6300 阅读(6989) 评论(2) 推荐(1) 编辑
摘要: 在Halcon的rft变换中,我们经常可以看到这样的算子组合: rft_generic (Image, ImageFFT2, 'to_freq', 'none', 'complex', Width) convol_fft (ImageFFT2, ImageFilter, ImageConvol2)r 阅读全文
posted @ 2017-03-20 23:31 xh6300 阅读(7473) 评论(4) 推荐(2) 编辑
摘要: 算子sort_contours_xld算子有5种排序方式,即: 'upper_left': The position is determined by the upper left corner of the surrounding rectangle. 'upper_right':The posi 阅读全文
posted @ 2017-03-11 22:25 xh6300 阅读(7545) 评论(0) 推荐(0) 编辑
摘要: connection直译为“连接”。其实它的功能不是连接,它的功能是确定区域之间的连接关系,如果简单粗暴地解释的话,可以认为:connection的意思是“打散”,将不连接的区域打散成一个一个的区域。 一、difference操作 1、用connection之后的region集合减去单一region 阅读全文
posted @ 2017-02-22 21:21 xh6300 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: 如下图: 阅读全文
posted @ 2017-02-20 20:49 xh6300 阅读(5523) 评论(0) 推荐(1) 编辑