自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 问答 (1)
  • 收藏
  • 关注

原创 Halcon3D gen_image_to_world_plane_map的理解和实用

对于在实际项目中的应用,有兴趣的朋友,随时沟通。

2024-11-10 15:32:09 390

原创 Halcon3D image_points_to_world_plane详解

详细介绍了算子的算法过程,及参数

2024-11-02 09:25:09 404

原创 Halcon3D 相机外参自理解

【代码】Halcon相机外参自理解。

2024-10-29 08:34:34 331

原创 【halcon 3d点云法线方向统一性的矫正】

关于法线的统一向矫正,提供一种思路,学习知识来自于halcon实例学习。欢迎交流指正

2024-10-26 10:28:44 556

原创 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 396 1

原创 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 242

原创 Halcon统计过滤滤波器

对每个点的邻域进行统计分析,并移除一些不符合标准的点,稀疏离群点的移除基于在输入数据中对点到其临近点的距离的计算,对于每一个点,计算它到它的所有临近点的平均距离,假设得到的结果是一个高斯分布,其形状是由均值和标准差决定的,平均距离在标准范围之外的点可以定义为离群点并从数据中去除。每个点都表达一定的信息,某个区域的点越密集,信息量就可能越大。噪声信息属于无用信息,上上一篇有介绍通过属性 neighbour x来实现的。若某处点云密度小于某个值,则点云无效。资料和图片来源于 书籍 玩转3D世界。

2024-10-23 08:38:27 166

原创 普通图片转换成3d点云的两种方法

没有3d文件,就将2d图像转换成3d玩玩

2024-10-21 22:45:40 373

原创 关于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 195

原创 Halcon3D get_object_model_3d_params之 ‘neighbor_distance ‘妙用

真的是特别妙 neighbor_distance +num_neighbors

2024-10-13 20:26:49 222

原创 Gray_range_rect在3D点云中的妙用

举个简单的例子,桌面上有一个盒子,在获得点云后,会明显发现,盒子的上表面离桌子平面是有很大距离的。只要用阈值分割,提取最大值80%以上的区域,就是边界了。5**它的局部优势是可以盲提,

2024-10-10 18:25:03 240

原创 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 230

原创 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 307

原创 halcon 3d点云柔性匹配实例

对于3d点云的学习没有找到特别系统的资料。从halcon实例入手,手机解决方法。对实例的流程及算法都进行了标注。

2024-10-02 09:17:25 102

原创 Halcon内部和外部函数,区分明白

在单个程序中被改动时,如果选择覆盖,那函数体会被改变,影响面特别大,整个机子上凡事用到这个函数名的结构体都发生改变。内部函数适用于可能会在不同程序情景下,频繁修改内部结构,满足不同要求的函数体。任何本机halcon程序,可像用算子一样直接调用。被改动时,只影响当前程序,其他程序内不受影响。外部函数适用于普适的稳定的,不被修改的函数体。其他程序想使用,需要通过复制粘贴的方式。是程序体的一部分,随程序一起保存,只能在当前定义的程序内当做算子使用。只存在于当前的halcon程序,适用于本来电脑上的任何程序。

2024-09-30 12:24:02 184

原创 project_object_model_3d

halcon3d算子

2024-09-28 21:51:55 511

原创 halcon 快速定义字典

为字典添加键值对,在halcon中箭只能是字符串,值可以是任何类型的obj或者tuple。等价于用 create_dict (Params )定义一个名为params的字典。

2024-09-21 14:08:21 276

原创 Gray_dilation和gray_erosion我想可以这么用

怎么理解呢,比如我们在在一些平滑滤波时,比如均值,高斯,双边,小的中值等,会出现边界的过渡区,比如在10的背景快,和100的前景块之间形成5个像素的过度。gray_dilation是取掩码范围内灰度值的最小值,它可以怎么用呢,可以将一个小白点,在周边扩展一个掩码的宽度。注释一下,一般提取出来的不是一个像素宽度,这个宽度可以根据自己的需求进行确定。#2,gray_erosion_rec当然与膨胀是相反的,它是。,再对这个图像进行阈值分割呢*完美的边界。,你品,是不是这样。

2024-09-14 07:34:26 248

原创 Halcon自己做掩码去卷图像convol_image

1,convol_image是支持一个输入控制参数的,那就是自定义的掩码,我们可以通过这个掩码对图像进行快速的卷积。但它有自己的识别模式,不是你随便给个掩码它都认识,按你的想法去解读。,操作起来,比我前几天写的关于sobel自己通过图像平移相减的方法,那可happy多了。1,比如,想知道图像中每个值,与x方向上,相隔5个像素的差值,然后作为一个图像输出。2,比如你还想知道啥,就设计一个掩码,卷出一个新高度。#2,convol_image对掩码的解读。去卷起来吧,其实用处真的特别特别,特别大。

2024-09-12 07:48:33 493

原创 halcon try_catch无try不项目

4#, try_catch_endtry 将要运行的整体或者部分代码放在try_catch中间,如果发生异常把提示,或者异常出现时要做的事情放在 catch_endtry中间,自己可以在halcon里尝试,有用且好玩。#3,为什么要用,halcon的一些算子在收入参数超出范围时,会直接报错卡死,在调试项目中,如何快速的定位是哪个算子出了问题,那就必须用try_catch。而且try_catch在里面的代码即使出现异常,程序不会卡死,后面的程序也能正常运城。

2024-09-10 07:24:50 235

原创 halcon Canny算子 一张图看懂,

3,halcon里canny算子一般在edge_sub_pix或者lines_gauss里,来提取边缘或者轮廓线条。1,high t最大值一般以一阶导数幅度图的最大值的30%-40%来定。2,最小值一般halcon里默认为 low t=heigh t/3得到。3,canny的优势是有极大值抑制,所以提取的边缘是1个像素的窄边缘。对于最高值和最低值的设置,每天几步30分钟,积沙成塔。

2024-09-09 08:37:37 472

原创 halcon 由离散点云生成3d模型(2步)

二,由3创建3d模型(在这里是将所有的点集合为一体)一,创建立方体的3d坐标,定义X,Y,Z坐标。三,对点云组成的体,

2024-09-08 22:25:38 357

原创 halcon 自定义距离10的一阶导数幅图,摆脱sobel的3掩码困境

边界对比度最强的导数,最接近前景与背景的差值,不在3个像素之内,而在更远处,如果朋友有更好的办法,欢迎交流

2024-09-08 01:24:22 439

原创 halcon sobel_dir 方向图和sobel的一些想法

关于sobel的一些想法,在一定场景上是有效果的。更多时候大家用canny的更多一些,laplace算子也有特殊的效果

2024-09-07 12:00:04 271

原创 ABB机器人无限解包( rawbytes)

关于ABB工业机器人交互解包,这种解包方式可以不用考虑80的封顶限制,可以无限的进行

2024-09-07 09:01:17 529

原创 Gray_opening和gray_closing 你用吗?

取最小值,取最大值,取中间值,取均值,取高斯值,还有双边滤波,丰富对图像的处理。一张图,来自南京信息工程大学的视频课程。#1,复习一下各种图像处理神器,#2,灰度值开闭运算的主要作用。

2024-09-05 07:34:11 143

原创 Halcon Skeleton 一张图带你了解

算法的稳定性,在于最底层知识的理解。

2024-09-04 08:25:24 273

原创 Halcon凸包,convex

Halcon中一般在shape_trans中会用到,非常有用。这个理解在3D点云凸包拟合中仍然适用。这算是最近获得的比较有特点的小知识。

2024-09-03 07:34:56 339

原创 halcon+c#+abb机器人=激光熔覆视觉工作站

halcon+c#+abb机器人使用socket通讯组成的激光熔覆视觉工作站包是自己在电脑上做得视觉工作站,并没有投入生产

2024-09-01 10:08:14 474

原创 发布一个激光熔覆的视觉填充工作站

以前做激光熔覆时候的想法,闲着没事儿实现一下

2024-08-31 21:04:06 85

原创 union_collinear_contours_xld 算子介绍一下,条件关系

自己玩,想看看这四个条件的满足关系而已

2024-08-30 23:59:03 394

原创 dyn_threshold最神奇的动态阈值分割

5,dyn_threshold 比均值高0.1的 就得到1.8和1.9两个人出列。#1,作为视觉算法工程师,在缺陷检测过程中,最常用的就是这个动态阈值分割,有请它的好搭档。#2,mean_image 这俩是绝配,来演一段。#3,三个人 1.4米,1.8米,1.9米。比均值低0.2以上的 只有1.4米出列。比均值高0.2的就1.9米一个人出列。会这个算子,基本上就玩的明白了。#搭配长方形均值滤波,更有奇效。#4,平均身高是1.7米。

2024-08-29 21:06:36 116

原创 Halcon 快速精确小数点位数

Round(实数)=整数。实数与整数的运算=实数。

2024-08-25 02:51:58 134

原创 halcon精华 实力提升1(1分钟提速)

小技巧提升

2024-08-24 22:38:16 346

原创 halcon P图技术(实现图片局部嫁接)

根据,对于域的使用,和对paint_gray算子的使用,用halcon实现图片嫁接

2024-08-24 22:26:41 365

原创 paint_gray 摆脱图像运算困境的拓印术

一个windowhandle窗口,相当于一个纸质图册,每个图片放进来被显示的时候,都是以左上角00点为锚点的,图像在移动过程中是以共同的相册的00点为基准进行移动,和相对位置计算。#3,Paint_gray是将资源图像,拓印在目标图像上的,也可以理解为相对位置垂直投影替换像素。可以的,理解起来也很简单,将两个相册锚点00点对齐,参照投影相对位置,进行拓印。#1,图像间运算的困境,必须是同像素尺寸,也就是用get_image_size获得同样的值,两个图像才能做四则运算。#4,整体拓印和局部拓印。

2024-08-23 07:37:50 231

原创 Halcon 域 domain2 (域的扩展)

#1.2扩大画纸,但图像大小没改变,也就是说一张图纸扩大4倍,但只有1/4显示了我的图像,剩下3/4都是0,或者其他灰度值。三,对transimage进行阈值分割提取目标image所在的位置,再reduce_image得到reducedimage2。###1.2.2图片如果要显示在扩大后的域的其他位置,比如中间位置。二,scale_image将Zoomimage的像素全部归零,得到scaleimage。#1,如何扩大一个图像的域。三,paint_image就可以,得到图像在左上角的显示image2。

2024-08-22 07:38:39 264

原创 Halcon full_domain 你理解呢怎么样?

3.2,还有一种图片是crop_domain得来的,如果这个domain不是矩形,那它默认的全域就是这个region的最小外接矩形,你会发现只有一部分能看见的有灰度值,还有一部分没有灰度值。3.1,如果是reduce_domain得到的图像我们叫reducedimage,它是加了蒙版的,之前介绍过,这种图片的全域跟原image大小一样,蒙版下面就是原图,只是遮盖住了一部分,遮盖的这部分不参与运算,不赋予灰度值。3,full_domain的真实作用,就是让整个域中的图片都显示出来,没有图片的地方用0填充。

2024-08-21 08:09:36 274

原创 Halcon domain 域 你理解的怎么样?

4,如果用crop_region裁下来的图像,使用get_domain时获得的不是一个矩形。这是因为前面在reduce_domain中设置了子域,在图像上加了蒙版,你裁剪的过程用将蒙版裁了下来,图片继承了蒙版不是玻璃的位置不参与计算的原理,所以get_domain获得的是子域。如果你对crop_region后的图,用full_domain后,再用get_domain那你将获得全域。1,域简单点说,就是画纸,我们有一幅图像,这个图像的纸稿是多大,512×512个像素,这就是域,一个完整的域,是矩形的。

2024-08-20 12:56:48 239

原创 regiongrowing算子,你用的怎么样

当然开始前,你可以用mean_image进行像素小平均,再emphasize增强一下边界,开始生长,然后再opening去掉毛刺,再进行select_shape_std去选择面积最大的区域,这就是背景了。1,首先要知道,这个算子增长的原理,是先将图片分割成像素,然后再去合并,将邻像素灰度值差不高于容忍度的像素合并进来。把40左右的高度,彻底分化明显。3,生长完成后,可以用opening算子去把周边的毛刺去掉,毛刺的产生是因为,你在路上会遇到坡道像素,或者小台阶像素,让有一些区域往外小分支生长。

2024-08-20 08:04:08 192

halcon 3d点云柔性匹配实例

实例

2024-10-02

halcon+c#+abb机器人使用socket通讯组成的激光熔覆视觉工作站包

halcon+c#+abb机器人使用socket通讯组成的激光熔覆视觉工作站包

2024-09-01

halcon-实例 三维测量比较的解析

halcon的实例文件,打开可以直接看。

2024-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除