随笔分类 -  数字图像处理

1 2 下一页
sort_region算子对多个区域进行排序研究
摘要:sort_region是个很有用的算子,在对多个Region进行排序时,经常用到。 算子含义:根据区域的相对位置对区域进行排序。(Sorting of regions with respect to their relative position.) 算子签名:sort_region(Regions 阅读全文
posted @ 2022-08-10 17:33 xh6300 阅读(4078) 评论(0) 推荐(1) 编辑
浓淡补正的实现探究和复杂背景下细小缺陷的检测
摘要:“浓淡补正”是基恩士视觉的一个很强大的算法工具。使用“浓淡补正”的预处理,可以消除工件表面的光泽和阴影,仅抽取污点及瑕疵。(如下图) 至于它的实现原理,网上搜不到相关资料。不过根据它的实现效果,能大致窥见它的原理:排除背景渐变的浓淡变化,只抽取对比度急剧变化的部分。 看到这句话,想必有些人已经想到了 阅读全文
posted @ 2022-07-13 19:35 xh6300 阅读(2451) 评论(0) 推荐(0) 编辑
仿射变换中错切变换的研究与应用
摘要:仿射变换是平移、翻转、旋转、缩放、错切这五种变换的组合。 错切变换就是上图中的第5种。 图像的错切实际上是平面景物在投影平面上的非垂直投影。错切使图像中的图形产生扭变,其一般有两种情况:水平方向错切、垂直方向错切。(如下图所示) 具体数学解释,可参考网上的这篇博客:https://blog.csdn 阅读全文
posted @ 2022-07-07 19:19 xh6300 阅读(880) 评论(0) 推荐(0) 编辑
黑白多帧相机设置白平衡原理
摘要:白平衡,字面意思即白色的平衡。白平衡是描述显示器中红、绿、蓝三基色混合生成后白色(无彩色)准确度的一项指标。 如果用白平衡准确的彩色相机拍摄白纸或者灰板(不能过曝),生成的图像不应该存在偏色,而应该是纯粹的灰色。灰色RGB图像的R、G、B通道图是一模一样的,如下: 白 色:255, 255, 255 阅读全文
posted @ 2022-05-04 14:07 xh6300 阅读(718) 评论(0) 推荐(1) 编辑
fit_line_contour_xld拟合直线的五种算法的准确度比较
摘要:大家在网上搜索“fit_line_contour_xld”应该很容易就能发现这样的几行字:(没耐心看的话,可以直接看文末三行研究结论) regression:回归,标准的最小二乘法拟合 huber:加权的最小二乘法拟合,异常值的影响被减小基于Huber方法 tukey:加权的最小二乘法拟合,异常值的 阅读全文
posted @ 2021-10-14 22:06 xh6300 阅读(2280) 评论(0) 推荐(1) 编辑
不同颜色在Halcon中的色相值规律
摘要:下面是一张色相渐变图。底部的数值是它在Halcon中对应的色相值。 色相H值范围:0~255 其中纯红为0或者255,这说明不同颜色的色相值其实是一个首尾相连的闭合环(色轮)。(Photoshop中为了突出这一特性,它的色相取值范围是0~360) 如果在Halcon中要筛选红色,范围可能要写2段,例 阅读全文
posted @ 2021-08-16 15:01 xh6300 阅读(954) 评论(0) 推荐(1) 编辑
Halcon中将16位的图像转化为8位的图像
摘要:Halcon中Image有多种像素表示方式,这方面网上找到的资料比较少,有一张大恒图像培训的文档中提到过,感觉描述比较准确: 里面有四种类型比较类似:uint2、int1、int2、int4。 区分起来很简单,带1表示8位,带2表示16位,带4表示32位,带u表示无符号(即无“负号”这种符号) 我用 阅读全文
posted @ 2019-12-27 16:22 xh6300 阅读(5752) 评论(1) 推荐(1) 编辑
Photoshop和Halcon如何锐化彩色图像不伤其颜色
摘要:锐化图像是摄影中的一步重要操作。 锐化是通过颜色提纯达到锐化的目的。一旦锐化过度,照片很容易就会出现不自然的色斑,或溢色效果。 我们以Photoshop中的“USM锐化滤镜”为例:(为了使效果明显,我这里用了较大的锐化值) 锐化结果:可以发现鼻翼、眉毛下面、上嘴唇上面的皮肤都出现了明显的黄色色块。这 阅读全文
posted @ 2019-12-26 17:46 xh6300 阅读(2144) 评论(0) 推荐(1) 编辑
图像滤波和形态学运算中矩形结构元素的运用
摘要:在图像滤波和形态学运算中,我们用得最多的是圆形结构元素(circle)或者方形结构元素,例如: ① 圆形结构元素 opening_circle (Region, RegionOpening, 3.5)erosion_circle (Region, RegionErosion, 3.5) ② 方形结构 阅读全文
posted @ 2019-11-23 12:01 xh6300 阅读(2417) 评论(4) 推荐(0) 编辑
机器视觉中提高解码成功率的思路分析
摘要:以Halcon为例,一般解码的步骤为:创建解码模型——设置解码参数——执行解码——清除模型回收内存。如下所示: 我们一般会在“设置解码参数”这个步骤里面做文章。例如设置多个参数,以达到解码成功率高且解码速度快的目的。这个只是常规思路,我今天并不想讲这个,而且这种思路有局限:有时候无论你参数设置得多么 阅读全文
posted @ 2018-10-18 11:58 xh6300 阅读(5997) 评论(0) 推荐(1) 编辑
通过灰度线性映射增强图像对比度
摘要:Halcon中如何通过灰度线性映射增强图片对比度呢?不急,我先讲点其他的。 如果你用过Photoshop,那么想必对增强图像的对比度很熟悉。在Photoshop中,我们对下面这张图执行“色阶”调整: 执行“色阶”调整:可以观察到图片的对比度明显增强。(白的更白,黑的更黑了) 它的原理是这样的:将原图 阅读全文
posted @ 2017-09-12 22:20 xh6300 阅读(6000) 评论(2) 推荐(1) 编辑
Halcon中的坐标系特点及XLD的镜像转换
摘要:我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角。那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析。 这三个点在Halcon中的位置如下图: 上面的程序最终生成了一个名为threePoint.dxf的文件。我用文本查看器(notepa 阅读全文
posted @ 2017-08-31 21:43 xh6300 阅读(13705) 评论(0) 推荐(3) 编辑
Halcon二维仿射变换实例探究
摘要:二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。 Halcon中进行仿射变换的常见步骤如下: ① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0. 阅读全文
posted @ 2017-08-28 00:13 xh6300 阅读(33826) 评论(3) 推荐(14) 编辑
Halcon中缩放Region或XLD的方法研究
摘要:在Halcon中,Region和XLD之间可以彼此转换。但这种转换并不是“无损”的,XLD可以是不闭合的,但是Region一定是闭合的。因此,如果将不闭合的XLD转为Region,然后再转回XLD,那么转换后的XLD和原先的XLD就有了一定的区别。 言归正传,先说说Region的缩放。 一、Regi 阅读全文
posted @ 2017-08-22 23:29 xh6300 阅读(7910) 评论(2) 推荐(1) 编辑
批量改变文件夹和子文件夹中图片格式的两种方法
摘要:生活中,我们通常会遇到这种问题:一个文件夹内部有多个子文件夹,每个文件夹内部有很多图片,我们想改变这些图片的格式。 例如.png格式图片支持背景透明,但我们想把它变成背景不透明的.jpg图片。又比如.bmp格式是非压缩图片,我们想把它转换为无损压缩的.png图片以节省存储空间。 如果图片数量很少,很 阅读全文
posted @ 2017-07-30 23:30 xh6300 阅读(16908) 评论(1) 推荐(1) 编辑
简单拼接图像的tile_images和tile_images_offset算子
摘要:有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图。tile_images和tile_images_offset就是用于简单拼图的2个算子。 谈到拼图,肯定有以下问题要明确: 1、将多少张图拼起来?由于是多张图,这需要一个元组来存储多张图片的集合。 2、是横向拼图, 阅读全文
posted @ 2017-03-30 22:30 xh6300 阅读(6298) 评论(0) 推荐(0) 编辑
Photoshop中的高斯模糊、高反差保留和Halcon中的rft频域分析研究
摘要:在Halcon的rft变换中,我们经常可以看到这样的算子组合: rft_generic (Image, ImageFFT2, 'to_freq', 'none', 'complex', Width) convol_fft (ImageFFT2, ImageFilter, ImageConvol2)r 阅读全文
posted @ 2017-03-20 23:31 xh6300 阅读(7477) 评论(4) 推荐(2) 编辑
Region在connection前后进行“交并差”等操作的异同
摘要:connection直译为“连接”。其实它的功能不是连接,它的功能是确定区域之间的连接关系,如果简单粗暴地解释的话,可以认为:connection的意思是“打散”,将不连接的区域打散成一个一个的区域。 一、difference操作 1、用connection之后的region集合减去单一region 阅读全文
posted @ 2017-02-22 21:21 xh6300 阅读(1395) 评论(0) 推荐(0) 编辑
Halcon选择一堆region中面积第N大的region的算法实现
摘要:以下图为例: 比如我想把面积第2小的那个“小正方形”选择出来,算法代码如下: 该实现算法的关键是对算子tuple_sort_index意思的理解。 代码中: Area := [420, 12922, 38019, 58, 2033] Indices := [3, 0, 4, 1, 2] tuple_ 阅读全文
posted @ 2017-02-19 23:23 xh6300 阅读(11938) 评论(0) 推荐(1) 编辑
从去除毛刺的策略看开运算opening_circle和闭运算closing_circle的异同
摘要:例一:毛刺在往外凸的面上 策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。 可以看到,虽然毛刺被分割出来了,但是多出了4块干扰的区域。原因是执行opening_circle时,四个尖角被削平了。 开运算是先腐蚀再膨胀。腐蚀之后,毛刺被削没 阅读全文
posted @ 2017-02-14 13:53 xh6300 阅读(20477) 评论(3) 推荐(1) 编辑

1 2 下一页