自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 VTK-vtkBandedPolyDataContourFilter学习

标量模式一定要是cellData,而且标量范围是上面的过滤生成的单元标量范围,也可以手动输入范围,范围外的标量数据就自动取极值了。官网有一个例子,看完之后仍然不太明白。经过一点点的探索,记录一下收获。顶点上的标量数据如图所示。为了帮助理解,所以数据分配的比较整齐。这样一看非常清晰,这个过滤器从点标量数据生成单元标量数据。这里的作用是将点标量数据重新划分,生成等值线。4.用上面的数据创建Polydata。1.建立一个六边形的点集。3.分配一个标量数据。

2024-09-10 11:20:16 337

原创 从dxf文件中提取spline曲线

左图是CAD绘制的spline曲线,右图是程序中显示的曲线,红色点是在CAD中作图时鼠标点击的拟合点。5.下一步看看能不能自己写一个spline的解析,非均匀有理样条公式有点复杂。open_Nurbs-负责spline曲线的计算。libDxf-负责解析dxf文件,提取图形元素。4.对libDXF的简单封装。3.main.cpp代码。

2024-08-26 17:27:25 466

原创 实现Bezier样条曲线

6.4 因为不想再绘制事件中动态分配内存,所以用了一个比较大的数组。=(xk,yk,zk),这里k可取值0-n,多项式函数公式如下。6.2 绘制事件中绘制控制点之间的连线、绘制Bezier曲线。4.Bezier样条完整代码,全部用指针表示点。6.5 控制点是画布的友元类,方便控制点删除自己。5. 继承QWidget,定义可显示的控制点。5.2 鼠标左键拖动,点在父窗口中移动。6. 继承QWidget,实现一块画布。5.3 鼠标右键,从父类中删除自己。5.1 鼠标左键单击,点变成绿色。

2024-08-21 22:55:52 523

原创 VTK—vtkImplicitFunction 隐函数

初始值是0,就是隐函数对应的默认特征。后面通过滑动条改变这个值,可以看到几何特征变大变小。其他值代表了对默认特征的偏离程度,负值向内,正值向外。5.2获取电脑中的字体文件,此处是微软雅黑,C:/WINDOWS/FONTS/MSYHL.TTC。通过这个例子可以直观理解隐函数是什么、在空间中怎么分布、怎么布尔运算。与单个renderer中理解的不一致,还没搞明白。5.3这样处理之后就可以愉快的输入汉字了。6.多个Renderer中的定位很迷惑。5.显示汉字需要特殊处理。1.隐函数的布尔运算。

2024-08-20 10:53:58 403

原创 VTK—vtkCutter截取平面数据

本例 vtkCutter可以配合隐式函数截取数据使用vtkPlane隐式函数配合vtkWidget截取任意平面。初始时隐式函数平面定位在包络框中心,法线指向Z轴正方向。可以使用其他类型的数据测试。4.使用vtkPlaneWidget交互定位切割平面。4.3鼠标左键点击平面+CTRL键可使平面绕法线旋转。4.1小部件四角拖动可调整平面显示大小。4.2鼠标左键点击平面可以任意拖动。4.5鼠标中键可以沿着法线拖动平面。4.4拖动箭头可改变平面角度。3.配置vtkCutter。

2024-08-18 23:54:39 796

原创 VTK—vtkQuadraticHexahedron细分

vtkQuadraticHexahedron是非线性的二次六面体单元格,就是普通的六面体每个边中间多了一个控制点。可以把点提取出来用vtkUnstructuredGrid显示。

2024-08-17 09:00:00 597

原创 VTK—vtkRectilinearGrid学习

vtkRectilinearGrid理解为沿着坐标轴方向一系列规格的网格,但是网格间距可以不同。需要显式的提供各坐标轴的点数据。单元数据不用指定,会隐式生成。与前面提到的vtkStructuredGrid 类似,但是每个网格线都是直的。维度是(10,10,10),也就是XYZ方向分别有10个点,9个间距。1.给三个坐标分配点,故意使间距不一致。3.直接映射,不需要分配拓扑结构。4.可以明显看到网格分配状况。

2024-08-16 09:00:00 356

原创 VTK—vtkStructuredGrid提取维度面数据

这里维度0 100 0 100 7 7,表示提取Z维度7这个面,XY维度数据设置大了没事,会自动裁剪。对于不知道数据维度的数据,就要设置一个大点的值。3.获得一个vtkStructuredGrid数据,带有标量数据和矢量数据,下面的代码提取一个维度面。4.将从文件中提取的数据保存到txt文件中,观察一下数据有哪些。4.3 简单计算一下就能明白上面是数据点位,下面是数据标量值。数据的实际维度是57 33 2,可以用下面的代码查看。4.1 文件开头如下,数据点的数据量就是维数的乘积。

2024-08-15 09:00:00 920

原创 VTK-vtkStructuredGrid学习

可以理解为单元格顺序沿着坐标轴排列,但是每个单元格可以不一样。维度理解为X/Y/Z方向的点数,如草图所示分别是4,3,1。此时只提供了12个点,只能构造一层,5.点图、线图、面图如下,对应行的代码改一下出现不同效果图。7.增加Z方向维度,点也要增加,点序保持一致。6.点可以不在同一个平面,随机改变点Z数值。2.获取这些点信息,点顺序要严格按照图示。直接赋值第一层的12个点,改一下Z值。所以Z方向维度是1,不能是其他数据。1.使用CAD随意绘制个网格草图。4.将上面的网格显示出来。

2024-08-14 15:20:01 449

原创 VTK-vtkXYPlotActor中XY轴数据来源

2.使用vtkDataObject作为输入数据,这个模式可以自由的设置X轴和Y轴数据来源,但是资料太少,探索了一段时间。1.使用vtkPolyData作为输入数据,y数据一直是标量数据。可以看到X轴范围0-200,就是点的Y分量范围。可以看到X轴范围0-300,就是点的Z分量范围。可以看到X轴范围0-50,就是点的x分量范围。1.1默认使用点索引值作为X轴数据来源。1.2使用点的x分量作为X轴数据来源。1.3使用点的y分量作为X轴数据来源。1.3使用点的z分量作为X轴数据来源。先生成一些点数据和标量数据。

2024-08-07 17:35:03 495

原创 Qt-绘制个稍微立体的方向按钮

1.操作3D视图需要个立体点的方向按钮。3.把3D轴测图投影到平面之后绘制出来。2.现在SolidWork绘制草图。4.根据需要复制代码,自行修改。

2024-08-05 08:10:29 430

原创 海康相机丢包、测试路由器MTU

把这个尺寸改成1996会严重丢帧,改成1596就没问题。跟上面测试的路由器能力吻合。数据包尺寸改小了会影响帧率,帧率要求太高的地方就更换更强的路由器吧。可以看到默认参数8164,路由器没有能力一次传输这么大一个包。使用的海康相机,之前一直是网线直连电脑主机,参数都是默认的,现在与其他设备组网,发现相机无法采集图像。MTU,即最大传输单元,是指在网络通信中,数据包的最大尺寸。可以看到现在这款路由器MTU数值在1600-2048之间,在具体的就不测试了。实测改完数据包尺寸后,巨型帧开启关闭都不影响获取图像。

2024-08-03 16:34:24 401

原创 delta机器人建模、解算、仿真

然后写一个模型,利用这些几何类计算。使用了VTK库,负责导入Stl文件,根据计算结果实时更新模型姿态。使用了之前开源的交互样式,操作习惯模仿SolidWorks.4.使用QVTKOpenGLWidget类显示。首先建立一套几何结构的类,方便模型计算。1.在SolidWorks中建模。3.编写一个计算模型。

2024-08-02 10:00:00 792

原创 写一个显示图像的widget,替换VisionMaster的组件

前面在VisionMaster二次开发时使用了QAxWidget嵌入了一个控件,加载过程有点慢,鼠标操作习惯也不合适,还不如自己写一个。以前用QGraphics框架实现过,要写好几个文件,有点麻烦,现在用一个QWidget自己绘制下。2.按住鼠标中键移动图像,左键功能保留干别的,右键保留显示菜单。4.鼠标滚轮实现图像缩放,缩放焦点就是当前鼠标点。1.鼠标在图像上移动实时显示图像位置和像素值。3.双击鼠标中键图像自动到视野中间。5.保存有原始图像和渲染图像。

2024-08-01 17:30:47 349

原创 写个统计代码量的小工具

写个小工具统计一下代码量

2024-07-31 14:40:22 498

原创 VisionMaster_提取多个圆信息、直线信息、文字信息

分别是直线起点、终点、圆心坐标、半径,代码中要提取这些信息。2.组合模块输出设置如下。1.创建VM方案如下。

2024-07-20 22:45:28 446

原创 用一棵树制作状态机

2.2 isState()检查当前节点,以及所有父节点是不是处在某个状态,因为不同的组件关注的状态层级不一样。3.4 setState(state)从根目录开始遍历节点,找到状态是“state”的节点,并把该节点的指针赋值给m_currentState。2.4 findState(state) 会在本节点以及所有子节点中搜索状态“state”,如果找到了返回节点的指针,否则返回NULL。3.2 state()返回的是当前节点指针指向的状态,不是根节点的。3.继承节点,创造一个状态机,负责管理所有节点。

2024-07-19 14:36:38 484

原创 VTK-点云表面重建,实测效果可以

扫描生成纯粹的点云文件,带法向量。也可以生成带有拓扑结构的Mesh文件。此处使用纯粹点云文件,领悟过程。如果使用带法向量的点云文件,可以跳过这一段。还原度还可以,如果牺牲一些性能还能更精细。可以看到点云,没有单元结构。

2024-07-18 15:27:08 557

原创 VisionMaster_提取查找圆信息并显示、dumpcpp工具踩坑

然后在VM安装目录D:\HIKVISION\VM4.2.0\VisionMaster4.2.0\Development\V4.x\ComControls\Libraries\win64。D:\QT\Qt5.14.2\5.14.2\msvc2017_64\bin 一般在这个文件里有dumpcpp.exe。这写函数原型是使用dumpcpp.exe工具从VmRenderControlWinform.dll中获取的。这个结构体所在的头文件是VmControlBaseInfo.h,但是这个头文件不在海康安装目录。

2024-07-17 23:13:42 696

原创 VisionMaster 二次开发获取图像,本地保存,COM组件显示

ImageSourceModuleTool *sorceTool = (ImageSourceModuleTool *)(*solution)["流程1.图像源1"];4.代码中加载方案,然后获取图像源结果,并在Qt中使用qaxWidget调用VM的组件显示图像,5.QAXWidget使用的UUID在注册表能查到,使用Qt中UI框架更容易找到。建议放在预编译头文件里,这些文件编译时间有点长,暂时用到这么多。8.上面的代码保存图像成功后使用默认软件打开图像,效果如下。这几行代码的先后顺序有坑。

2024-07-16 23:15:22 526

原创 Qt-绘制运动方向控制按钮

3.继承QWidget,按照CAD中的坐标点绘制,并添加一些颜色变化。2.调整CAD中的坐标系,与Qt窗口坐标系一致,如图所示Y方向朝下。1.在AutoCAD中绘制自己想要的按钮轮廓。

2024-07-15 10:37:50 467

原创 VisionMaster -Group循环、数组数据格式化

这里创建一个格式化工具,按照自己想要的模式格式化刚刚输出的数据。因为是检测多个物体,所以这里选择输出的是数组。第一次的模板很不满意,反复调整参数也没好,边缘不整齐,强迫症患者受不了。实测如果输入设置太多,会导致模块失效,所以尽量选择需要的少量参数。这里要打开循环使能,循环数值就是高精度匹配的匹配个数。Group输出设置里选择刚刚建立的数据集。左边是主流程,右边是组合模块内部流程。修改采图这里的曝光值,图像提亮一点。建一个数据集,把想要的数据收集起来。用TCP助手测试一下OK。成功得到了想要的数据。

2024-07-12 08:53:32 847

原创 批量修改文件名

1.使用很简单,直接把EXE文件拷贝到文件夹里,查找要替换的字符,直接替换。2.替换的字符可以什么都不写,相当于删除查找的字符。3.修改失败的文件会标红,一般是修改后出现重名了。

2024-07-11 09:21:46 192

原创 《材料明细表》生成《加工件清单》、《采购件清单》——机械工程师的福利

给机械工程师开发的小工具,将Solidworks到处的材料明细表,生成规范的《加工件清单》和《采购件清单》。3.绘制连线就是建立不同表格内容的映射关系,第一次用的时候建立,以后不需要。2.将上面的明细表拖入小工具,第一次用的时候映射关系需要自己拉线建立,以后就不用了。1.Solidworks导出的材料明细表。4.这么一个小工具,代码也不少。

2024-07-10 14:44:27 159

原创 文件批量转UTF8

使用Qt Creator开发时经常会碰到乱码的头文件,这个小工具可以将.h/.cpp文件批量转成UTF8格式。使用时将exe文件复制到要转换的文件目录,会在该目录下生成一个UTF8文件夹,转换后的文件都在这里。

2024-07-10 14:29:38 463

原创 VTK-自定义交互器、可拖拽坐标轴、视图定向立方体

2.左键双击Actor,可以在Actor位置弹出拖拽坐标轴,可以移动、旋转。1.左键单击Actor,可以选择Actor,并显示红色。6.鼠标滚轮可以缩放视图,缩放焦点在鼠标位置。3.单击空格键,可以弹出立方体视图定向工具。7.双击鼠标中键可以将视图缩放到合适大小。5.按住Ctrl+鼠标中键可以平移视图。4.按住鼠标中键可以变更视图方向。

2024-07-09 13:30:43 638

数据文件 combq.bin和combxyz.bin

这是代码需要读取的数据

2024-08-14

空空如也

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

TA关注的人

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