2021-01-27 21:37:50
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2021-01-14 16:46:11
说明:模板匹配是halcon的强项,opencv自带的模板匹配算子跟halcon这个比起来差好几层楼那么多。
在视觉引导定位时,模板匹配是少不了的东西。
所有的新手在遇到阈值搞不定的应用时,都会想到模板匹配,可见其概念和易用性已经深入人心。
但实际上halcon的模板匹配的知识点还是很多的,并非仅仅是我们常见的形态模板匹配。
勇哥这个系列贴子用来补全halcon模板匹配的相关系列知识。使用...
2021-01-12 18:03:49
先上代码:* This example program shows how to use optical_flow_mg to compute the optical flow in an image sequence and how to segment the optical flow.
*这个示例程序显示了如何使用._flow_mg来计算图像序列中的光流,以及如何分割光流。
dev_up...
2021-01-07 21:06:54
勇哥注: 这个例子主要是演示了形态模板的定位功能,测量框随着图像旋转与移位而保持相对位置不改变。这是个优秀的例子,值得新手一看。================================这个示例程序演示了如何使用形态模板匹配来定位对象。此外,还介绍了如何利用检测到的物体的位置和旋转来构造检测任务的搜索空间。在这个特定的例子中,IC上的打印文字信息用于查找IC。从找到的位置和旋转角度,构造了两...
2021-01-07 13:52:44
这个示例程序演示了如何为截面的每个像素计算沿其主轴的区域的厚度。厚度定义为等高线交点与各点(相距最远)主轴垂线之间的距离。这个示例程序首先通过确定预定义灰度值的连接分量来确定区域。然后计算了该区域的厚度,并对其主轴进行了可视化计算。厚度在单独的窗口中绘制dev_update_off ()
dev_close_window ()
read_image (Image, 'screw_t...
2021-01-05 11:20:34
请看下面的例子:dev_clear_window ()
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
gen_circle_contour_xld (ContCircle, 200, 200, 100, 0, 6.28318, 'positive', 1)...
2021-01-05 11:11:47
测试图:测试代码:read_image (Image, 'C:/Users/斌/Desktop/test.png')
binary_threshold (Image, Region, 'max_separability', 'dark', UsedThreshold)
*转骨架
skeleton (Region, Skeleton)
*骨架转...
2021-01-02 17:19:52
勇哥注:图片过滤器是一切缺陷检测、边缘提取、图片分割前处理、分类器应用等等的基础。有很重要的研究意义。因此勇哥会写成一个系列贴子以和大家一起分享。-正文---------------------------------------------------------------------下面是官方文档,勇哥把它编辑了一下做为本系列贴子的第一篇。它先介绍一下halcon的过滤器使用reduce_d...
2021-01-02 16:16:52
勇哥注:图片过滤器是一切缺陷检测、边缘提取、图片分割前处理、分类器应用等等的基础。有很重要的研究意义。因此勇哥会写成一个系列贴子以和大家一起分享。-正文---------------------------------------------------------------------highpass_image 从图像中提取高频分量。签名highpass_image(Image : Hig...
2021-01-02 15:29:32
勇哥注:图片过滤器是一切缺陷检测、边缘提取、图片分割前处理、分类器应用等等的基础。有很重要的研究意义。因此勇哥会写成一个系列贴子以和大家一起分享。-正文---------------------------------------------------------------------bilateral_filter 对图像执行双边滤波算子签名如下:bilateral_filter(Imag...
2021-01-02 12:54:39
勇哥注:图片过滤器是一切缺陷检测、边缘提取、图片分割前处理、分类器应用等等的基础。有很重要的研究意义。因此勇哥会写成一个系列贴子以和大家一起分享。-正文---------------------------------------------------------------------需求:我们希望提取包括缺陷处的齿部轮廓。图2是源图。图1是源图的缺陷示意。图3 左边是预处理后的效果,右边是使...
2020-12-31 20:57:51
勇哥大致看了一下halcon中有关region相关的官方例程,还是有一些很趣的东西。因此有个想法是把它全部滤一遍,在这里记录一下以备查。车道标志的快速检测球头连接检查球头连接检查2填充区域之间的间隙(取决于灰度值)填充区域之间的间隙(取决于灰度值)expand_gray_ref填充区域之间的间隙或分割重叠区域(1)车道标志的快速检测autobahn.hdev这是一个巧妙的图像分割的例子。使用网格、...
2020-12-31 09:49:43
勇哥大致看了一下halcon中有关region相关的官方例程,还是有一些很趣的东西。因此有个想法是把它全部滤一遍,在这里记录一下以备查。area_center求面积中心灰度区域和重心计算的精度分析 计算region的孔的面积定位网格图形中的不规则部分(缺陷部分)auto_threshold 自动阈值图像分割(1) area_center求面积中心area_center.hdevread_ima...
2020-12-29 17:35:26
勇哥大致看了一下halcon中有关region相关的官方例程,还是有一些很趣的东西。因此有个想法是把它全部滤一遍,在这里记录一下以备查。关闭边缘振幅图像的region边缘(close_edges)region沿指定的点做镜像 (transpose_region)region平移 (move_region )使用结构元素来扩展输入区域(minkowski_add1)使用结构化元素侵蚀区域(minko...
2020-12-29 11:49:49
勇哥大致看了一下halcon中有关region相关的官方例程,还是有一些很趣的东西。因此有个想法是把它全部滤一遍,在这里记录一下以备查。region的仿射变换分割背景识别圆盘上的条码region裁剪将区域相对于其大小剪裁为矩形(1)region的仿射变换dev_close_window ()
dev_open_window (0, 0, 512, 512, 'white', Wi...
2020-12-27 21:28:07
select_shapebasic'area' 面积'row' 行'column' 列'width' 宽'height' 高'row1' 左上角的行坐标'column1' 左上角的列坐标'row2' 右下角的行坐标'column2' 右下角的列坐标'...
2020-12-10 21:20:47
勇哥今天遇到一个问题:一个图片listview希望有一个图像预览功能,能显示一些halcon的图形、region之类的对象。但是我不想用halcon窗口,因为它是耗资源的大户,不想请它。能不能显示到C#自己的pictureBox控件里面呢?网上查了一些资料,是可以实现的!=============================halcon在.net里面自带的控件可以实现交互等很多强大的功能,但是...
2020-12-09 21:38:01
change_radial_distortion_image名称change_radial_distortion_image —更改图像的径向变形。签名change_radial_distortion_image(图片,地区:ImageRectified:CamParamIn,CamParamOut:)描述change_radial_distortion_image根据内部摄像机参数CamPara...
2020-12-09 19:57:53
gen_arbitrary_distortion_map名称gen_arbitrary_distortion_map —生成投影图,该投影图描述任意失真的图像和校正后的图像之间的映射。签名gen_arbitrary_distortion_map(:地图:GridSpacing,行,列,GridWidth,ImageWidth,ImageHeight,地图类型:)描述gen_arbitrary_di...
2020-12-09 19:39:15
名称change_radial_distortion_cam_par —根据指定的径向变形确定新的相机参数。签名change_radial_distortion_cam_par(::Mode,CamParamIn,DistortionCoeffs:CamParamOut)描述change_radial_distortion_cam_par根据指定的径向失真系数DistortionCoeffs修改内...
2020-12-08 21:02:52
引言:C#勇哥注:所谓的3d相机标定并不是指的3d相机的标定,而是指的是3d空间做相机的标定,这个相机仍然是2D相机。
halcon的这套标定方法,同时可以应对测量、手眼标定。
并且由于是在3d空间做标定,因此你在做测量的时候相机和拍摄平面可以不是完全垂直,
或者物料可以任意方向倾斜(当然你的相机的景深要能做得到)。
如果你是做机器人手眼标定,这套标定方法无论是hand to eye,还是...
2020-12-08 08:59:15
(一) 开多个窗口,显示不同的内容这种需要一般来讲主要用于演示或者调试的需要。* Image Acquisition 01: Code generated by Image Acquisition 01
list_files ('D:/资料/', ['files','follow_links'], ImageFiles)
tuple_rege...
2020-12-06 10:25:23
calibrate_cameras名称calibrate_cameras —通过同时最小化过程确定所有相机参数。签名calibrate_cameras(::CalibDataID:错误)描述操作员calibrate_cameras计算CalibDataID中指定的校准数据模型的内部和外部摄像机参数 。有关摄像机参数的详细说明,请参见“摄像机参数”一节。校准数据模型描述一个或多个摄像机的设置,并在创...
2020-12-02 16:51:44
生成的一些图形对象,如 gen_circle,gen_rectangle1生成的圆和矩形,当这些对象的范围(region区域) 超出图像的大小范围时,是否剪切掉超出图像大小范围的部分。'true'表示剪切掉,'false'反之;halcon学习网上的例子: http://www.ihalcon.com/read-6414.html相似的有,模板边界处理:set_sy...
2020-11-28 23:33:31
最近做了个项目,遇到一个问题,就是在创建形状匹配模板时候,干扰太多,像麻绳一样。使用自定义区域去消除吧,因为轮廓长,边缘干扰距离近,操作起来不方便;使用CAD图形创建模板吧,又因为产品随意性比较强,每次换产品都要从新画模板。最终决定使用手绘模板的方式解决这个问题。halcon手绘形状匹配模板手绘形状匹配模板为了避免大家产生理解歧义,这里对手绘形状匹配模板做一个解释。所谓手绘形状匹配模板,就是在图像...
2020-11-28 16:53:16
处理要求测量圆环同心度处理源码read_image (Image, 'C:/Users/22967/Desktop/图像Barrel 20201024/201024 手机行业 摄像头检测/Barrel 背光/Pic_2020_10_24_095951_blockId#20579.bmp')
dev_close_window ()
dev_open_window_fit_imag...
2020-11-28 16:47:28
处理要求椭圆/圆环(产品易变形,为椭圆)内外圆毛刺(凸起)缺口(凹陷)检测。处理方法1方法一思路1、这是一个圆环产品检测,我们可以通过产品区域与标准圆环进行比较得出不良区域。2、为了避免误检、误判,我们可以通过区域筛选阈值偏移的方法滤除干扰区域,可以将标准圆环放大消除一些圆度导致干扰。3、根据不同用户的精度要求,可以通过调节缺陷面积进行筛选。4、方法1的代码量有点多,但是更贴近工业现场使用。方法一...
2020-11-27 08:18:12
Halcon中增强图像的对比度也是预处理中的一环,主要有如下方式:1. 灰度变换a. scale_image 原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。 作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。b. scale_image_max:将灰度值拉伸到0-2552. 增强图像对比度a. emphasize...
2020-11-25 15:57:22
这个功能是region里面的一个偏门的功能。纯了解一下,暂时不知道能有啥子用途。行程编码(Run-Length Encoding)
仅存储一个像素值以及具有相同颜色的像素数目的图象数据编码方式称为行程编码,或称游程编码,常用RLE(Run-Length Encoding)表示。
该压缩编码技术相当直观和经济,运算也相当简单,因此解压缩速度很快。
RLE压缩编码尤其适用于计算机生成的图形图像,...
2020-11-25 08:35:55
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...