2020-12-19 20:38:57
1 预处理1.1 读取预训练网络用read_dl_classifier方法读取一个预训练网络,其中Halcon提供的预训练网络有:"pretrained_dl_classifier_compact.hdl"和"pretrained_dl_classifier_enhanced.hdl"。1.2 读取数据集指定数据集路径,用read_dl_classifier...
2020-12-19 13:42:33
halcon的DLtool是深度学习的标注加训练模型的工具。要注意的是只有0.4.2的版本才是可以训练模型的,之前的只可以标注。这个0.4.2版本跟之前的版本的区别是多了一个TRAINING,即训练模型的项目。首选新建项目,勇哥这里选择“分类”项目。大家都知道,halcon的深度学习有三种类型的应用: 分类,分割,对象检测。图库这里可以添加分类类别,这个例子里,只有两个类别:OK,NG。点击开始训...
2020-12-13 20:43:29
勇哥注:在解决“文件被占用”的问题时,有时候除了即时释放资源句柄,还需要使用对象的深度复制,这样就相当于斩断了原对象的占用。==========正文开始===================MemberwiseClone 方法创建一个浅表副本,具体来说就是创建一个新对象,
然后将当前对象的非静态字段复制到该新对象。
如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,
则复制引用...
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 20:07:51
引言:C#勇哥注:所谓的3d相机标定并不是指的3d相机的标定,而是指的是3d空间做相机的标定,
这个相机仍然是2D相机。
halcon的这套标定方法,同时可以应对测量、手眼标定。
并且由于是在3d空间做标定,因此你在做测量的时候相机和拍摄平面可以不是完全垂直,
或者物料可以任意方向倾斜(当然你的相机的景深要能做得到)。
如果你是做机器人手眼标定,这套标定方法无论是hand to eye,...
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-09 17:59:45
首先Hu矩是干嘛得呢?用hu矩来匹配图像下面是计算hu矩的过程 概念先了解一下吧普通矩 -----》0阶矩(m00) :目标区域的质量1阶矩(m01,m10) :目标区域的质心2阶矩(m02,m20,m11) :旋转半径3阶矩(m03,m30,m12,m21) :目标的方位和斜度,反应目标中心矩:构造平移不变性 ---------》 质心坐标:x = m10/m00 y = m01/m00;归一...
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 22:55:51
引言:C#勇哥注:所谓的3d相机标定并不是指的3d相机的标定,而是指的是3d空间做相机的标定,这个相机仍然是2D相机。
halcon的这套标定方法,同时可以应对测量、手眼标定。
并且由于是在3d空间做标定,因此你在做测量的时候相机和拍摄平面可以不是完全垂直,
或者物料可以任意方向倾斜(当然你的相机的景深要能做得到)。
如果你是做机器人手眼标定,这套标定方法无论是hand to eye,还是...
2020-12-06 20:10:23
引言:C#勇哥注:所谓的3d相机标定并不是指的3d相机的标定,而是指的是3d空间做相机的标定,这个相机仍然是2D相机。
halcon的这套标定方法,同时可以应对测量、手眼标定。
并且由于是在3d空间做标定,因此你在做测量的时候相机和拍摄平面可以不是完全垂直,
或者物料可以任意方向倾斜(当然你的相机的景深要能做得到)。
如果你是做机器人手眼标定,这套标定方法无论是hand to eye,还是...
2020-12-06 10:25:23
calibrate_cameras名称calibrate_cameras —通过同时最小化过程确定所有相机参数。签名calibrate_cameras(::CalibDataID:错误)描述操作员calibrate_cameras计算CalibDataID中指定的校准数据模型的内部和外部摄像机参数 。有关摄像机参数的详细说明,请参见“摄像机参数”一节。校准数据模型描述一个或多个摄像机的设置,并在创...
2020-12-05 22:17:50
引言:C#勇哥注:所谓的3d相机标定并不是指的3d相机的标定,而是指的是3d空间做相机的标定,这个相机仍然是2D相机。
halcon的这套标定方法,同时可以应对测量、手眼标定。
并且由于是在3d空间做标定,因此你在做测量的时候相机和拍摄平面可以不是完全垂直,
或者物料可以任意方向倾斜(当然你的相机的景深要能做得到)。
如果你是做机器人手眼标定,这套标定方法无论是hand to eye,还是...
2020-12-05 20:52:20
引言:勇哥注:所谓的3d相机标定并不是指的3d相机的标定,而是指的是3d空间做相机的标定,这个相机仍然是2D相机。
halcon的这套标定方法,同时可以应对测量、手眼标定。并且由于是在3d空间做标定,
因此你在做测量的时候相机和拍摄平面可以不是完全垂直,
或者物料可以任意方向倾斜(当然你的相机的景深要能做得到)。
如果你是做机器人手眼标定,这套标定方法无论是hand to eye,还是ey...
2020-12-04 09:48:03
这个机器人系列的教程,有些会转载,有些勇哥会自己写。完全重复造轮子有些浪费精力。正文开始==================================epson的四轴机器人一般不用示教器,而是使用Epson Rc软件在电脑上进行示教。这款软件似乎在官网上找不到下载地址。你只能向你的供应商去索取,或者向某人索取,你懂的。Epson rc5 的手册之类去下面的网址下载https://epson....
2020-12-02 17:22:47
gen_image_to_world_plane_map 名称gen_image_to_world_plane_map —生成一个投影图,该投影图描述图像平面与世界坐标系的平面z = 0之间的映射。签名gen_image_to_world_plane_map(:地图:CameraParam,WorldPose,WidthIn,HeightIn,WidthMapped,HeightMapped,缩放...
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-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的代码量有点多,但是更贴近工业现场使用。方法一...