自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pcl渲染显示

这里的‘‘z’’填入的是点云的属性。比如pointxyzi,就可以是‘‘x’’,"y","z","intensity",对这几个属性都是可以完成映射的,而且不用进行0-1的归一化非常方便。为你的点云设置一个你喜欢的颜色。注意这里的输入是rgb的三个值,也就是说设置完后,点云的单色点云。主要是针对rgb的color彩色进行显示。用起来就比较方便了。针对pointxyzrgb点云。主要作用是针对点云的属性,进行彩色映射。

2026-01-23 10:40:15 11

原创 halcon3d显示visualize_object_model_3d

本文介绍了点云显示的关键参数设置方法。重点参数包括:1)'colored'用于多颜色渲染;2)'attribute'控制显示形式(通常选'points');3)'color_attrib'需指定属性类型才能依赖显示;4)lut用于颜色映射;5)可通过属性_0/1区分多物体显示设置。实际操作中,灰度显示需将属性设置为'points',彩色显示则需分别设置'red'、'green'、'blue'三个通道属性,且'colored'参数值不能小于3。这些设置通过visualize_object_model_3d函数

2026-01-22 17:23:56 14

原创 pycharm下配置halcon

本文总结了在PyCharm中配置Halcon环境时遇到的常见问题及解决方法。主要步骤包括:1) 安装Python 3.10环境;2) 通过pip安装mvtec-halcon==23110.0.0;3) 将Halcon的4个DLL文件复制到根目录。特别指出read_image等函数无法使用的原因是PyCharm默认2.56MB的文件大小限制,解决方案是修改配置文件参数idea.max.intellisense.filesize和idea.max.content.load.filesize为100000以扩大限

2026-01-21 10:57:46 85

原创 c++中log

log出消息,但是要先定义一个pbulic的.txt。

2026-01-16 10:30:34 21

原创 halcon 读取txt格式标注文件

通过txt的路径,生成目标region。并没有生成mask图片的形式。放在这里,用的时候直接拿。

2026-01-16 09:19:26 16

原创 qt控件QVTKOpenGL全窗口显示和窗口还原

这个捣鼓了一两天。最后竟然用一段代码就可以实现。

2026-01-10 10:44:19 30

原创 彩色图像转vtk图像

【代码】彩色图像转vtk图像。

2026-01-09 09:31:04 26

原创 qt+vtk QVTKOpenGLNativeWidget图像显示

3,对图像进行渲染->绑定到ui的控件窗口->绑定交互。2,将图像读入,并转为vtkimagedata数据。这是一个通用的范本。放在这里 后期方便自己使用。1,先重写一组鼠标交互,满足鼠标交互的需求。

2026-01-08 20:01:53 58

原创 点云在qt窗口还原

可以通过 visualizer->getcameraparamters(cam)获得赋值通过 visualizer->setcameraparamters(cam)对场景下的相机进行赋值cam.pos 是eigen::vector3f结构,包含相机xyz的值——cmp.view 也是eigen::vector3f结构 包含相机沿xyz的旋转在这里介绍点云在一顿操作后,快速还原到初始状态第一步在显示算法1的末尾 获取cam的值//之后在这里获取第二步创建slots函数。

2026-01-08 11:16:45 44

原创 点云在qt的QVTKOpenGLNativeWidget控件上显示

1,创建新的vtkrenderwindow,并将pclvisualizer的渲染器绑定到vtk的渲染窗口上。通过一个函数传入一个pclvisualizer指针,和一个ui控件,完成显示。这两步是自由的,只要动pcl就可以实现,不会在deepseek上到处都能找到pclvisualizer的使用。3.2,将pcl的pclvisualizer的交互设置,设置到新的vtkrenderwindow上。2,将新的vtkrenderwindow绑定到ui的控件上。2,pcl的pclvisualizer的显示设置。

2026-01-07 19:42:42 81

原创 halcon大型照片的拼接术

1,先提取特种的特种点,比如圆心,矩形的中心,或者其他特征性的特种点。要求这些特种点提取去来要稳定性强。这个过程可以循环两到三次就可以达到一个完美的拼接效果。2,使用harris角点检测的代价是非常高的。将粗对位后的图像进行分割。采取小区域角点检测,3,采用电源register的快读匹配。1,如果图片非常大,又有很多特种。对图像进行平移和缩放。2,生成特种点点云。

2026-01-07 10:24:16 31

原创 VTK+QT图像渲染的流程

/ 彩虹色(默认是彩虹色),也可以设置其他颜色。4,演员的舞台<vtkrender> render上可以防止很多actor, render上有默认灯光。添加演员1,2,3,4。3,把数据给演员,由演员去演<vteactor>//获取演员属性,设置它的差值方式是最近邻。//添加颜色查找表lut。

2026-01-06 14:47:15 417

原创 cccorelib在vs中对all_build编译不成功的问题

错误 C2039 "SearchParams": 不是 "nanoflann" 的成员 CCCoreLib D:\PCL 1.12.1\CCCoreLib-2024.03.10\src\Kriging.cpp 359 ‘’这再进行cmake的时候就会提示,需要下载好nanoflann,将内容放入extern中。注意版本的问题,版本不要太高。直接将这一段注释掉。再后续的使用中,并未出现什么问题。1,缺少nanoflann文件,2,all_build编译的问题。

2025-12-25 13:55:31 135

原创 select_shape_proto 惊天发现

以前都是正选,比如说我想要Regions与Pattern没有交际的。一般会选出有交集的先。再用difference求出没有交集的。那后来发现 min:=0,Max:=1;其实就是反向直接选择。我选没有交集到1个像素交集之间的region。这个算子非常非常重要。再算法中灵活的使用,可以减少很多不必要的加减筛选region的代码/。原来这个算子是可以反向选择的。

2025-12-25 13:43:13 24

原创 vector_to_pose

WorldX, WorldY, WorldZ:物体坐标系的点对。注:这些点对坐标的基准是要被预测的物体坐标系pose下的点对值。ImageRow, ImageColumn:物体坐标系,在像素坐标系下的对应点坐标。综合来说:就是通过物体坐标系下的点对与像素坐标系下的点对的对应关系,获取物体坐标系pose值。QualityType:返回给最后一个参数Quality的类型。Method:计算的方法,一般默认。Quality :error 信息。CameraParam:相机参数。Pose:计算得到的物体坐标系。

2025-12-18 18:01:58 551

原创 调整pose Z方向的朝向

绕自身旋转轴旋转的方式,更容易理解和记住。halcon是这么做的。另外一种容易理解的方式。

2025-12-16 14:27:48 28

原创 set_system常用设置

set_system ('empty_region_result', 'true') //当对空的region进行操作时,忽略错误.set_system ('clip_region', 'false') //当region超过图像边界时不被裁剪。set_system ('store_empty_region', 'true') //不存储空的region。用过的人都知道,用好这三个set,非常重要。

2025-12-16 13:46:22 352

原创 halcon3d直线拟合

一种势svd分解另一种只需要两行代码当然,结果是一样的**直线拟合的两种方法***一,svd分解,挺笨的办法t:=[1:100]***2,1,5endfor*****二,最快的办法x:=a*t+x0y:=b*t+y0z:=c*t+z0stop ()

2025-12-16 09:20:17 34

原创 halcon3d 求角平分面

2025-12-15 16:07:11 21

原创 算子封装 以不同颜色显示多个obj

这里的obj可以是多个。也可以通过[obj1,obj2,obj3,obj4]的形式。显示的obj数量,不超过4个。直接放在外部函数库里可以使用。

2025-12-15 15:57:07 20

原创 halcon常用图像拼接proj_match_points_ransac

**可以使用vector_to_hom_mat2d。***如果不考虑切向变换只做刚性变化。

2025-12-11 09:11:14 40

原创 fit_line_from_obj

想了两个小时,精读可能不高,但主要是给前面的算子 intersect_plane_plane算子做后续使用的。

2025-12-09 17:25:05 39

原创 intersect_plane_plane

len1=1000,表示在1000*1000*1000的方体区域内进行。求两个pose在一定空间范围内的相交区域,返回的是一个点云obj。输入控制:resolution=1,表示返回值。下一其实可以干很多事儿。

2025-12-09 15:39:10 28

原创 line_from_two_plane_intersecton

【代码】由两个平面参数求平面交线参数。

2025-12-08 15:35:13 57

原创 harmonic_interpolation 补齐无值区域

Image:输入 这个图像需要补齐的点不可以是无值的。可以先用full_domain对图像进行全域的补齐。Region :输入 需要被补齐的区域。同上不可以是无值的指的就是它。InpaintedImage :输出。Precision :输入,默认0.001。

2025-12-05 17:29:49 46

原创 junctions_skeleton

EndPoints:输出区域 断点,是一整个点reigion。可以根据junction区域,快速对一个region进行打断。JuncPoints :输出区域, 是交叉点,的region。可以跟distance_transform配合进行使用。Region :输入,必须是像素为1的区域线条。快速求解条形region的端点。运行速度:28ms 速度还可以。一个很少刚刚认识的算子。

2025-12-05 13:51:26 31

原创 3D检测案例

关于halcon3D检测,测量,定位,焊接引导等!价格根据项目复杂度和完整度定价

2025-11-13 23:31:30 126

原创 hysteresis_threshold大爱

2025-11-13 10:29:06 586

原创 hysteresis_threshold理解及技巧

(Image : 输入图像RegionHysteresis : 提取区域Low, 低阈值High, 高阈值MaxLength : ) 低阈值距离高阈值的极限距离。

2025-11-13 10:26:12 47

原创 输入数字,创建一个卷积核

这个卷起来,有点慢的。比halcon自己的算子,相对来说,要慢很多。可以根据自己的需求进行编辑。我设定的创建出来是这样的。

2025-11-12 17:59:52 39

原创 test_region_point算子及妙用

检测row,column代表的点是否在regions内返回值:0,1可以应用的点distance_contours_xld(ContourFrom, ContourTo : ContourOut : Mode : )这个算子在计算距离的时候是没有正负值的,只有正值那么如果是两个封闭的区域,在计算距离,可以通过test_region_point(Regions : : Row, Column : IsInside)对距离的正负性进行赋值。这样可以充分反应距离变化的信息可以试试,效果很不错的!

2025-11-11 09:12:36 63

原创 create_map外部函数

本文介绍了一个封装函数的设计方案,用于简化gen_image_to_world_plane_map操作。该函数接收图像和相机参数(camparam)、位姿参数(pose)、Z轴补偿量(distance_z)和分辨率控制参数(rate)作为输入,其中pose要求x轴水平向右、y轴向下,可通过disp_3d_coord_system验证。输出包括变换后的map图和映射图像。该封装解决了原函数易混淆x/y与row/column的问题,并简化了操作流程。

2025-11-05 16:49:59 42

原创 基于gen_image_surface_first_order的相对深度矫正

RegionDefiningReferencePlane是深度图像平面位置的区域,可以是一个大区域,也可以是多个区域的集合。要求他是一个位于相对平面,或者目标平面的region。(上面这三部,也可以用fit_surface_first_order求Alpha, Beta, Mean的值,效果是一样的)*得到距离平面的相对高度DistanceImageWithoutTilt图。最关键的位置,进行高度矫正。

2025-11-04 14:45:39 173

原创 对于深度图快速去背景

1,在深度图像获取过程中,物体是放在一个平面上的。一,在背景处画两个矩形区域,最好程垂直结构。2,在这里通过几行代码,对平面进行去除。三,用深度图像减去拟合生成的平面。

2025-11-04 13:42:23 38

原创 gen_image_to_world_plane_map图像拼接,一看就懂逻辑

按自己的理解,从新写了一下gen_image_to_world_plane_map在图像拼接中的应用,感觉容易理解多了。看一遍,隔一段时间不看,再回头都得思想缠斗半天。

2025-10-31 17:43:28 321

原创 双目视觉常用算子

核心原理是图像中的每个点代表的是穿过相机中心的一条射线。输出:RectCamParL, RectCamParR, CamPoseRectL, CamPoseRectR, RectLPosRectR 极线矫正映射后的左右相机参数,左右相机相对原相机的位姿,矫正后右相机相对于左相机的位姿。5,关于map,map图只是代表camra采样图像,与camraref采样图像的对应关系。3,根据视差图上点的坐标和视差值,计算空间坐标系下的点坐标。根据映射后的相机和相对位姿,通过视察求空间Z方向的值。

2025-10-31 10:54:13 43

原创 haclon csv文件操作 及写入封装文件

注意事项:2,封装函数的内容,虽然简单,但是特别高效

2025-10-29 18:05:20 283

原创 diameter_region不长用到,但很实用的算子

返回一个region中相聚最远的两个点坐标和。两个点的距离( 其实外接圆直径)

2025-10-29 10:06:15 102

原创 pcl::SampleConsensusPrerejective-基于预匹配后的随机采样——快速匹配

【代码】pcl::SampleConsensusPrerejective-基于预匹配后的随机采样——快速匹配。

2025-10-27 15:27:48 214

原创 halcon 获取 Exception各种消息

从业几年了,从来没想到还能这么用。

2025-10-23 14:56:47 42

同时以不同显色显示多个obj

同时以不同显色显示多个obj

2025-12-15

create-map外部函数

create-map外部函数

2025-11-05

pcl案例六 基于配准的无序抓取

pcl案例六 基于配准的无序抓取

2025-09-17

pcl案例1 平面找凹凸区域

pcl案例1 平面找凹凸区域

2025-08-27

pcl crop-hull

pcl crop-hull

2025-08-21

著名的斯坦福的兔子点云,从halcon转过来的

著名的斯坦福的兔子点云,从halcon转过来的

2025-08-06

tile-images-offset一看就精通

tile-images-offset一看就精通

2025-07-28

select-shape-proto 用起来很省事

select-shape-proto 用起来很省事

2025-07-17

用lines-gauss的width属性提取缺陷

用lines-gauss的width属性提取缺陷

2025-07-01

tuple的区间限制筛选函数封装

tuple的区间限制筛选函数封装

2025-06-22

create-generic-shape-model模板匹配在图像对齐中的应用

create-generic-shape-model模板匹配在图像对齐中的应用

2025-06-21

halcon 对线段上点的按线段方向顺序依一定距离依次取样排列

halcon 对线段上点的按线段方向顺序依一定距离依次取样排列

2024-12-28

halcon 3d点云柔性匹配实例

实例

2024-10-02

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

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

2024-09-01

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

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

2024-07-21

空空如也

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

TA关注的人

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