2020-11-30 20:34:44
outline_to_world_plane_xld 将XLD轮廓转换为世界坐标系的平面z = 0。签名contour_to_world_plane_xld(轮廓:ContoursTrans:CameraParam,WorldPose,刻度:)描述操作者contour_to_world_plane_xld变换轮廓在给定的点轮廓到在世界上平面z = 0坐标系和在返回该3D轮廓点ContoursTra...
2020-11-30 07:24:12
get_calib_data_observ_points 名称get_calib_data_observ_points —从校准数据模型中获取基于点的观测数据。签名get_calib_data_observ_points(:::CalibDataID,CameraIdx,CalibObjIdx,CalibObjPoseIdx:行,列,索引,姿势)描述操作员get_calib_data_observ...
2020-11-30 07:23:25
set_origin_pose 名称set_origin_pose —转换3D姿势的原点。签名set_origin_pose(::PoseIn,DX,DY,DZ:PoseNewOrigin)描述set_origin_pose 用DX, DY和DZ给定的向量转换3D姿势PoseIn的原点,并在PoseNewOrigin中返回结果。注意,相对于姿势本身的局部坐标系执行平移。例如,如果 PoseIn在相...
2020-11-30 07:22:22
image_points_to_world_plane名称image_points_to_world_plane —将图像点转换为世界坐标系的平面z = 0。签名image_points_to_world_plane(:CameraParam,WorldPose,行,列数,刻度:X,ÿ)描述运算符image_points_to_world_plane在世界坐标系中将在Rows和Cols中给出的图像...
2020-11-30 07:21:19
get_calib_data名称get_calib_data —查询在校准数据模型中存储或计算的数据。签名get_calib_data(::CalibDataID,ItemType,ItemIdx,DataName:DataValue)描述使用运算符get_calib_data,可以查询校准数据模型CalibDataID的数据。请注意,在下文中,所有与“姿势”相关的数据都是相对于模型参考相机的坐标...
2020-11-30 07:19:50
find_calib_object名称find_calib_object —查找HALCON校准板,并在校准数据模型中设置提取的点和轮廓。签名find_calib_object(图片:CalibDataID,CameraIdx,CalibObjIdx,CalibObjPoseIdx,GenParamName,GenParamValue:)描述find_calib_object在图像中从校准数据模...
2020-11-28 23:33:31
最近做了个项目,遇到一个问题,就是在创建形状匹配模板时候,干扰太多,像麻绳一样。使用自定义区域去消除吧,因为轮廓长,边缘干扰距离近,操作起来不方便;使用CAD图形创建模板吧,又因为产品随意性比较强,每次换产品都要从新画模板。最终决定使用手绘模板的方式解决这个问题。halcon手绘形状匹配模板手绘形状匹配模板为了避免大家产生理解歧义,这里对手绘形状匹配模板做一个解释。所谓手绘形状匹配模板,就是在图像...
2020-11-28 23:32:23
处理要求:根据客户给的宽度,计算出电路宽度太窄的为NG原图:处理程序:read_image (Image, '1.png')rgb1_to_gray(Image, GrayImage)threshold(GrayImage, Region, 130, 255)connection (Region, ConnectedRegions)select_shape(ConnectedReg...
2020-11-28 23:31:05
halcon相机标定完成后,世界坐标系原点在标定板的中间,如果要自定义坐标系原点该如何操作如图:方法1使用仿射变换*pose_to_hom_mat3d (FinalPose, HomMat3D)*hom_mat3d_translate_local (HomMat3D, dx, dy, 0, HomMat3DTranslate)*hom_mat3d_rotate_local (HomMat3DTra...
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-28 15:41:44
(一)halcon标定步骤1、创建标定数据模型使用算子 create_calib_data( : : CalibSetup, NumCameras, NumCalibObjects : CalibDataID)CalibSetup:创建的内容NumCameras:相机个数NumCalibObjects :标定项目数CalibDataID:标定句柄例如:create_calib_data (‘cal...
2020-11-28 14:13:42
halcon标定助手里选择摄像机模型时,要你选择面阵相机的类型,有:面扫描(除法)、面扫描(多项式)由于翻译的问题,这两种类型有时也称为:division(分工)模型和polynomial(多项式)模型下面是两者的区别:3D相机模型面扫描针孔相机:面扫描相机使用一个镜头来进行中心投影,图像可能会出现径向和切向畸变。面扫描远心相机:面扫描相机使用一个远心镜头来进行平行投影,图像可能会出现径向和切向畸...
2020-11-27 08:18:12
Halcon中增强图像的对比度也是预处理中的一环,主要有如下方式:1. 灰度变换a. scale_image 原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。 作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。b. scale_image_max:将灰度值拉伸到0-2552. 增强图像对比度a. emphasize...
2020-11-26 23:23:41
名称calibrate_hand_eye —执行手眼校准。原型calibrate_hand_eye( : : CalibDataID : Errors)描述操作员根据校准数据模型确定机器人(“手”)相对于相机或3D传感器(“眼睛”)的3D姿势。借助确定的3D姿态,可以将摄像机坐标系中的校准对象的姿态转换为机器人的坐标系,然后可以例如抓取被检零件。机器人摄像机(手眼)系统有两种可能的配置:摄像机可以...
2020-11-25 19:50:25
机器人奇点是个让生产商和用户都很头痛的问题,碰上了,严重点可能造成“机毁人亡”。那到底什么是机器人奇点,它是怎么形成的,怎么样才能避免机器人奇点?下面这篇文章由Robotiq公司的Alex Owen-Hill撰写,它能让你全面了解这些烦人的问题。如果你对科学感兴趣,“奇点”很可能会让你想起黑洞。自从美国LIGO实验室证明了引力波的存在之后,黑洞就被媒体广泛报道,为大众所熟知。根据物理学家推论,在黑...
2020-11-25 15:57:22
这个功能是region里面的一个偏门的功能。纯了解一下,暂时不知道能有啥子用途。行程编码(Run-Length Encoding)
仅存储一个像素值以及具有相同颜色的像素数目的图象数据编码方式称为行程编码,或称游程编码,常用RLE(Run-Length Encoding)表示。
该压缩编码技术相当直观和经济,运算也相当简单,因此解压缩速度很快。
RLE压缩编码尤其适用于计算机生成的图形图像,...
2020-11-25 09:09:13
不改变坐标原点的位置和单位长度,只改变坐标轴方向的坐标系的变换,叫做坐标轴的旋转. 设点M在原坐标系中的坐标为(x,y),对应向量的模为r,幅角为.将坐标轴绕坐标原点,按照逆时针方向旋转角形成新坐标系,点M在新坐标系中的坐标为(如图2-4),则 由此得到坐标轴的旋转的坐标变换公式 平面上一点x1,y1,绕平面上另一点x2,y2顺时针旋转θ角度 ,怎么求旋转后的x1,y1对应的坐标x,yx=(x...
2020-11-25 08:35:55
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2020-11-24 16:24:33
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2020-11-24 13:39:53
康耐视(Cognex®)品牌的工业相机是和visionPro一起卖的。你并不能只买康耐视相机。而且即使你有康耐视(Cognex®)品牌相机,也不能直接用在halcon上面,必须配合使用visionPro。捆绑销售这一点我们中国人太熟悉了,例如跟中国电信办宽带必须买他的手机一样,迟早会扫进历史的垃圾桶。不得不说康耐视倚仗是苹果供应链表现就是牛啊。最近搞到一个二手康耐视相机,型号是cam-cic-50...
2020-11-24 10:56:30
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2020-11-24 09:21:31
阈值分割引言阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方图无...
2020-11-23 16:49:23
今天调机,有台机器有个工位是飞拍。用的频闪控制器,线的接法是plc用io触发控制器光源,然后控制器会同步触发相机拍照。结果会看到连续触发时,有时候能拍到几张物料,亮度还有变化,有时候拍出来一片黑。这个就是典型的闪光灯与相机拍照不同步的问题了。这个问题的解决方法如下:首先我们把相机曝光确定下来,因为是飞拍,根据机械确定的最大速度以确定相机的最小曝光时间。勇哥这里设置了60us。然后就是尝试调整光源延...
2020-11-22 20:54:36
勇哥注:图片过滤器是一切缺陷检测、边缘提取、图片分割前处理、分类器应用等等的基础。有很重要的研究意义。因此勇哥会写成一个系列贴子以和大家一起分享。-正文---------------------------------------------------------------------双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。其输出像素的值依赖于邻域像素的值的加权...
2020-11-22 09:41:39
2.2.1 光源选择标准光源的选择标准如下:(1)光源均匀性要好,在有效的照射范围内,灰度值标准差要小;(2)具有较宽的光谱范围,可以对不同材料的物体进行检测;(3)光照强度要足够,提高信噪比,利于图像处理;(4)具有较长的使用寿命及较高的稳定性,要保障光源在长时间运行状态下能够持续稳定的提供照明环境;(5)成本低,易根据现场情况定制特殊形状光源。2.2.2 光源的分类光源从大类上可分为普通自然光...
2020-11-22 09:37:32
一、相机硬件接线图2号引脚接传感器的触发信号引脚,5号与传感器共地连接。 二、pylon软件设置三、halcon软触发相机拍照Halcon采集助手设置软触发:1.set_framegrabber_param (AcqHandle, 'TriggerMode', 'On')2.set_framegrabber_param (AcqHandle, 'Trigge...
2020-11-22 09:33:58
Halcon 中的全局阈值分割算子 binary_threshold 中,Method = 'max_separability' 指的就是Otsu法(最大类间方差法,有时也称之为大津算法)。Otsu 算法也叫全局最优阈值处理,使用聚类思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别来划分...
2020-11-22 00:05:07
勇哥注:图片过滤器是一切缺陷检测、边缘提取、图片分割前处理、分类器应用等等的基础。有很重要的研究意义。因此勇哥会写成一个系列贴子以和大家一起分享。-正文---------------------------------------------------------------------维纳滤波器(Wiener filter)是由数学家维纳(Norbert Wiener)
提出的一种以最小平方...
2020-11-21 09:44:14
先来看年过个算子的原型:gray_range_rect( Image : ImageResult : MaskHeight, MaskWidth: ) 函数作用:决定某个方形区域内的灰度值,计算方形区域内的最大最小灰度的差(最大-最小),并体现到每个图像点上。如果MaskHeight和MaskWidth是偶数,它们被变为靠近的小的奇数值,图像边缘的灰度值是呈镜像出现的。 参数列表:Image(in...