在Halcon的rft变换中,我们经常可以看到这样的算子组合:rft_generic (Image, ImageFFT2, 'to_freq', 'none', 'complex', Width) convol_fft (ImageFFT2, ImageFilter, ImageConvol2)rft_generic (ImageConvol2, ImageFiltered2, 'from_freq', 'n
有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图。tile_images和tile_images_offset就是用于简单拼图的2个算子。 谈到拼图,肯定有以下问题要明确:1、将多少张图拼起来?由于是多张图,这需要一个元组来存储多张图片的集合。2、是横向拼图,还是纵向拼图?这涉及拼图的方向。3、是一张挨着一张无缝拼接吗?能不能做“有缝”的自由拼接?这涉及拼接偏移量。 我有这样四张图(分辨率300 * 150):一、tile_images算子
线扫相机的原理:线扫相机一般一次只拍摄一条线(线宽通常是1个像素),在机构运动的过程中,线扫相机不断地拍摄线,于是“聚线成面”,这就是线扫相机成像的原理。 线扫相机的原理决定了,它所拍摄的物体必须要运动。机构运动的话,就存在机构的速度是否和线扫相机采集的速度匹配的问题。将对机构运动速度的要求进行拆分的话,其实就是如下两点:① 运动速度必须与线扫相机的工作行频(即采集速度)相匹配。② 机构的运动速度最好是匀速,或者十分接近匀速。 如果机构速度过快,最后的图像在运动方向上被压缩;
二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。 Halcon中进行仿射变换的常见步骤如下:① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0.0]);② 在初始化矩阵的基础上,使用hom_mat2d_translate(平移)、hom_mat2d_rotate(旋转)、hom_mat2d_scale(缩放)等生成仿射变换矩阵;(这几
我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角。那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析。gen_image_const (Image, 'byte', 512, 512)
dev_set_draw ('margin')
*点1
gen_circle (Circle1, 10, 10,
例图:read_image (Image, 'C:/Users/Administrator/Desktop/1.png')
threshold (Image, Regions, 0, 112)
skeleton(Regions,TriangleSkeleton)
gen_contours_skeleton_xld(TriangleSkeleton,TriangleCont
Halcon中如何通过灰度线性映射增强图片对比度呢?不急,我先讲点其他的。如果你用过Photoshop,那么想必对增强图像的对比度很熟悉。在Photoshop中,我们对下面这张图执行“色阶”调整:执行“色阶”调整:可以观察到图片的对比度明显增强。(白的更白,黑的更黑了)它的原理是这样的:将原图中灰度值小于55的点全部强制置为0,将灰度值高于140的点强制置为255,并且将55~140之间的色阶强行拓宽均匀映射到0~255之间,其效果是图像对比度增强了。如下图所示:如果还不好理解,那么再看看在Ph
以Halcon为例,一般解码的步骤为:创建解码模型——设置解码参数——执行解码——清除模型回收内存。如下所示:create_bar_code_model ([], [], BarCodeHandle)
set_bar_code_param (BarCodeHandle, 'num_scanlines', 30)
find_bar_code (Image, SymbolRegions1,
select_shape_proto是一个非常有用的region筛选算子,但是由于难以理解,因此一般人使用得不是太多。 算子签名如下:select_shape_proto(Regions, Pattern : SelectedRegions : Feature, Min, Max : )其中Feature可以取这7种模式:'distance_center'、'distance_contour'、'distance_dilate'
赃污通常是比较浅的痕迹,一般你是无法通过threshold来处理的,否则它就不是什么赃污而是刮伤、疤痕之类的。处理这种不明显的痕迹,傅立叶变换算子是最常用到的。素材图:上面的问题图片你可能并不觉得有什么问题,我们用photoshop来调节一下色阶。结果看到了红圈中我示意的两个缺陷处。我们先给出处理代码,后面在分析一下代码:read_image (Image, 'C:/Users/Administrator/Desktop/划痕+油污+瑕疵的检测/划痕、油污、瑕疵/赃污