- 博客(80)
- 问答 (1)
- 收藏
- 关注
原创 python+halcon 解读labelme标注生成marksimage
halcon+pytorch 实现labelme标准文件解读成marks_image图片
2025-02-16 22:03:27
158
原创 pytorch ReSet18模型
################conv1和CONV2的 stride必须是相同的,才能保证相同的像素宽度和高度。
2025-02-04 08:00:57
477
原创 pytorch Dataloader一文看懂!!
比如有datasets里有100个数据,batch_size=2.那么dataloder输出的数据应该是 50个【2。那如果我们输入的是image。那么输出是50*【2。
2025-01-30 08:08:20
196
原创 halcon MLP多层神经网络感知分类器
add_samples_image_class_mlp(Image, ClassRegions : : MLPHandle : )那么在compose中的图像可以全部来自对image的前处理,它在日常工作中的处理顺序1,图像本身的去噪点,可以用的算子包括 gray_closing ,gay_opening等2,图像的均值滤波,高斯滤波等3,图像的亮度均一性矫正(同一类产品的亮度均一性很重要)4,sobel_amp图像,gray_range_rect图像等5,sub_image,pow_image
2025-01-25 08:28:57
151
原创 halcon单相机+工业机器人=模板匹配抓取过程原理及代码实现
在这里,非常直观的告诉大家模板眼在手外,单相机+机器人配合,通过模板匹配的方式,对物体进行抓取。文章内容包含了图形的矫正,模板创建的特点,匹配中心点设置,抓取位姿的相互转换及相对关系。,指在能以一种更简单,且自己能记住的方式将这个技巧记录下来,并进行分享
2024-12-22 21:18:54
262
原创 halcon单相机+机器人*眼在手外标定心得
得到相机坐标系下的点与机器人底座base的转换关系,camera_in_base1,相机与机器人底座base之间的相对位置是固定的,既camera_in_base2,机械手末端与标定物 tool_in_obj是固定的工作台与相机的位姿关系`为什么要有辅助确定量,因为标定时标定板obj是拿在机器人手上的,我们的目的是要把工作台上的薄片物体在相机中的空间坐标点,转换到机器人底座坐标下** 如何实现_只需要把标准的标定板,放在工作台平面上,拍照,确定工作台平面相对于固定相机的pose。那只要放在这个工作台上的
2024-12-20 07:47:11
742
原创 Hom_mat3与matrix
*这个在halcon中,可以使用hom_mat3d_local在感觉,它是右乘。可以看出来,为了减少计算量,齐次部分,是没有被存储的,是在使用时被添加的。
2024-12-19 07:45:53
145
原创 ABB+halcon 旋转矩阵,欧拉角,四元素互转
欧拉角是沿转动后的新坐标系旋转的角度,在旋转矩阵中,它是由左往右乘的旋转矩阵顺序。与欧拉角对应的是RPY角,它是由由往左乘的。当然角度一样的情况下,得到的最终旋转矩阵是一样的。那ABB机器人用的是欧拉角。
2024-12-12 08:32:22
306
转载 halcon技能 关于平场校正
平场校正(Flat Field Correction),也称为光场校正、灰度校正或散斑校正,是一种用于图像传感器或相机校正的图像处理技术。它旨在消除图像中由于传感器不均匀响应、光照差异或其他因素引起的亮度和颜色不均匀性。平场校正可以提高图像的质量,使得不同区域的亮度更加均匀,减少了图像中的伪影、噪声和其他影响。平场校正的主要思想是使用一个称为“平场图像”或“平场图”(Flat Field Image)的参考图像,该图像是由一个均匀光源照射到传感器上所得到的。
2024-11-24 09:17:42
129
原创 halcon实例 two_camera_calibration.hdev和自己的理解
【代码】halcon实例 two_camera_calibration.hdev和自己的理解。
2024-11-14 18:00:52
136
原创 Halcon3D object_model_3d_to_xyz 自理解及操作
Type,‘有四种方式,其中只有'cartesian_faces'’可以传递多个模型,其余都只能传递一个1),'cartesian':说了不少,我想就是我东西在这里,你要怎么采样吧2),'from_xyz_map':这个只能用于由xyz_to_object_model_3d生成的模型,数据会被映射回去,此时的camparam和pose是没用的CamParam,“相机的内参,啥意思呢,就是你打算用什么样的相机对我这个物体进行采样”Pose,‘我的物体相对于相机是一个什么样的位姿’: )
2024-10-24 22:32:13
625
2
原创 Halcon3D gen_image_surface_first_order一点自己的想法
1,图片类型不可以是byte,因为超过255后的值,都会是255。大家可以找张图试试。3,当水平为1,竖直为2时,那生成的3D体会在竖直方向上被拉伸2倍。也可以是2,那么相邻两个像素间,灰度差值就是2,水平最大灰度值是2。2,什么是坐标单位系数,也就是水平坐标系,或者说。Width, Height)图片的宽和高。0, 竖直方向的坐标单位系数。1,水平方向的坐标单位系数。‘real’, 图像类型。
2024-10-23 17:49:26
333
原创 Halcon统计过滤滤波器
对每个点的邻域进行统计分析,并移除一些不符合标准的点,稀疏离群点的移除基于在输入数据中对点到其临近点的距离的计算,对于每一个点,计算它到它的所有临近点的平均距离,假设得到的结果是一个高斯分布,其形状是由均值和标准差决定的,平均距离在标准范围之外的点可以定义为离群点并从数据中去除。每个点都表达一定的信息,某个区域的点越密集,信息量就可能越大。噪声信息属于无用信息,上上一篇有介绍通过属性 neighbour x来实现的。若某处点云密度小于某个值,则点云无效。资料和图片来源于 书籍 玩转3D世界。
2024-10-23 08:38:27
204
原创 关于region_to_label算子的想法
4,应用场景:比如现在有一个region的集,现在有一个随机的点,我想知道它每次次落在哪个region上,这个region在什么位置,面积是多少。1,先用region_to_label将这些域在打成标签,形成一张labelimage。2,将region由union1进行联通成整体的region2,不联通也可以。3,有什么作用:目前能用到的,是有字典的作用,相当于每个灰度值对应一个域。通过一个小的循环,按顺序将区域从灰度值1开始1+1的往上喷。4,获得它在labelimage下的灰度值,进行分割即可。
2024-10-21 07:19:45
218
原创 Halcon3D get_object_model_3d_params之 ‘neighbor_distance ‘妙用
真的是特别妙 neighbor_distance +num_neighbors
2024-10-13 20:26:49
271
原创 Gray_range_rect在3D点云中的妙用
举个简单的例子,桌面上有一个盒子,在获得点云后,会明显发现,盒子的上表面离桌子平面是有很大距离的。只要用阈值分割,提取最大值80%以上的区域,就是边界了。5**它的局部优势是可以盲提,
2024-10-10 18:25:03
278
原创 gray_range_rect是这样的
1,每个像素点,在3.3范围内,最大像素值,减速最小像素值的差值,赋值给当前像素点。2,怎么做到的呢,其实是一张图像的gray_dilation_rec在mask后的结果,减去,图像在gray_erosion_rec后的结果,对吧。3,如果突出像素区域大于mask,那么运算后会形成周边像素高,中间像素低的现象,阈值分割后需要进行fill_up的填充。4,运算结束后,用阈值分割提取的区域比实际亮或暗区要大,大多少呢,相当于dilation一个mask的大小。以mask=3×3为例。
2024-10-10 12:44:36
326
原创 find_box_3d
设置edges_object_model_3d最小幅值,默认值为模型最小外包立方体对角线长度的10%:=【-1,-1】表示不考虑z轴方向上的尺寸。如果边缘信息是find_box_3d内部计算的,该参数用于控制是否移除最外围的边缘。edges_object_model_3d中的max_gap参数。是由一个键值对,作为输入参数,可定义的目标包括。4.1,edges_object_model_3d参数设置。输入的3d模型,这个模型最好是由xyx三通道点云生成的。表示搜索box在X,Y,Z三个方向上的边长尺寸。
2024-10-07 08:04:03
329
原创 halcon 3d点云柔性匹配实例
对于3d点云的学习没有找到特别系统的资料。从halcon实例入手,手机解决方法。对实例的流程及算法都进行了标注。
2024-10-02 09:17:25
138
原创 Halcon内部和外部函数,区分明白
在单个程序中被改动时,如果选择覆盖,那函数体会被改变,影响面特别大,整个机子上凡事用到这个函数名的结构体都发生改变。内部函数适用于可能会在不同程序情景下,频繁修改内部结构,满足不同要求的函数体。任何本机halcon程序,可像用算子一样直接调用。被改动时,只影响当前程序,其他程序内不受影响。外部函数适用于普适的稳定的,不被修改的函数体。其他程序想使用,需要通过复制粘贴的方式。是程序体的一部分,随程序一起保存,只能在当前定义的程序内当做算子使用。只存在于当前的halcon程序,适用于本来电脑上的任何程序。
2024-09-30 12:24:02
232
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人