- 博客(43)
- 收藏
- 关注
原创 halcon函数封装把选中的代码做成函数 Halcon本地程序函数、函数文件及库函数的区别 配置halcon与vs联合开发创建w
这个圆的圆心就是旋转中心。的大小反映了测量结果的稳定性,标准差越大,说明数据点与平均值的偏离程度越大,即数据的离散程度越高;此工具用这两组点计算一个最佳的2D转换,并将此2D转换保存工具中,在此工具运行的时候将此2D转换添加到输入图像的坐标空间树中,并输出校正后的图像。5,pma1的9个坐标代表未标定位置 单位像素,控制器上的9个坐标代表已标定的位置 单位mm,填入NPoint工具中,运行,误差需<3。13,一步一步点击,第一次拍照,角度或者xy位置偏差,程序设置的有补偿,第二次拍照就是补偿后的图片。
2024-08-30 10:47:06
1088
原创 halcon4
把导出的halcon文件 放入winform项目中。把action 方法粘贴到 From1.CS中。添加后引用目录下有halcondotnet项。点击浏览添加本电脑Halcon库。修改窗口为winform中对象。1.设计winform 页面。添加halcon窗口控件。2.导出halcon文件。
2024-08-30 10:40:24
289
原创 Halcon3
进入图像采集助手后,点击--连接--选项卡,检测到自己的相机进行连接,连接成功之后,回到标定窗口,点击采集,便可进行拍照,图片窗口会显示拍到的图片,对多个位置和位姿进行拍照获取标定图像。在图像上绘制线段之后,Halcon会自动显示出提取到的边界(黄色线段是轮廓线,箭头代表方向,绿色线段代表提取到的边界,蓝色区域是绘制的ROI边界)28.125mm*28.125mm 即:黑色边框线宽为一个圆点半径(0.9375)好了,以上就是测量助手的介绍,多操作几遍,你会有意想不到的收获。
2024-08-30 10:39:16
1036
原创 halcon2
C:\Users\Public\Documents\MVTec\HALCON-18.11-Progress\examples 缩放仿射变换平移仿射变换旋转仿射变换。
2024-08-30 10:38:36
246
原创 halcon1
德国MVtec公司开发的一套完善的标准的机器视觉算法包。底层功能算法多,运算性能快。halcon不能提供相应的界面编程需求,需要和vs一起才能构成一套完整软件。
2024-08-30 09:18:07
262
原创 机器视觉28
这个圆的圆心就是旋转中心。的大小反映了测量结果的稳定性,标准差越大,说明数据点与平均值的偏离程度越大,即数据的离散程度越高;此工具用这两组点计算一个最佳的2D转换,并将此2D转换保存工具中,在此工具运行的时候将此2D转换添加到输入图像的坐标空间树中,并输出校正后的图像。5,pma1的9个坐标代表未标定位置 单位像素,控制器上的9个坐标代表已标定的位置 单位mm,填入NPoint工具中,运行,误差需<3。13,一步一步点击,第一次拍照,角度或者xy位置偏差,程序设置的有补偿,第二次拍照就是补偿后的图片。
2024-08-30 09:17:31
374
原创 机器视觉27
相关性的要求由客户给定,同时测量的次数,物料的片数也严格按照客户要求来进行,根据测量项来确定线性斜率,在针对偏移量进行补偿以后,测量值与真值所拟合的线性斜率越接近1,说明我们的机台与标机结果越符合。单次操作将一片物料放在机台上,无取放地对相应测量项测试10次,观察相应测量项的数据跳动,通常需要三个操作员每个人测三次,每次测10片样品,静态重复性的要求标准通常是公差的10%线性是在测量中的偏移变化量。有取放地对一片物料的相应测量项测试32次,并观察相应的测量项的数据跳动,动态重复性的要求通常是公差的20%
2024-08-30 09:15:39
295
原创 机器视觉24 -硬件选型方式
例如,如果客户的视野大小为16mm × 12mm,要求精度为0.02mm,则分辨率可以计算为(16 / 0.02) × (12 / 0.02) × 3 = 1,440,000像素,即建议选择高于144万像素的相机。这个公式是最基本的相机分辨率计算方法,直接反映了相机能够捕捉到的图像中像素的总数。例如,一个相机如果拍摄出的图像宽度为1920像素,高度为1080像素,那么该相机的分辨率就是1920 × 1080 = 2,073,600像素,即常说的200万像素。(焦距) = 物距 *(芯片尺寸/视场)
2024-08-30 09:13:17
425
原创 机器视觉25
CSV(Comma-Separated Values)文件是一种用于存储表格数据的纯文本文件,其中数据由逗号分隔。CSV 文件通常用于在电子表格软件(如 Microsoft Excel)和数据库之间导入或导出数据。
2024-08-29 11:16:31
869
原创 机器视觉24
因为VP中有很多工具 所以在VS中使用时 可能频繁的导入工具对应的命名空间。如图:使用CogCaliperTool 拖动其编辑界面 空间 然后在删除即可。从vs工具中拖控件 帮助快速导入。//Block 设置窗体。
2024-08-29 11:15:31
271
原创 机器视觉23
举例一个现实生活中的例子,例如一个公司,一般都是各个部门各司其职,互不干涉。各个部门需要沟通时通过专门的负责人进行对接。在软件里面也是一样的 一个功能模块只是关注一个功能,一个模块最好只实现一个功能。这个是所谓的内聚,模块与模块之间、系统与系统之间的交互,是不可避免的, 但是我们要尽量减少由于交互引起的单个模块无法独立使用或者无法移植的情况发生, 尽可能多的单独提供接口用于对外操作, 这个就是所谓的低耦合。
2024-08-29 11:15:00
309
原创 机器视觉22
解决方式2. 根据自己电脑的操作系统位数 找到对应ProgramFiles文件(64位-ProgramFiles 32位-ProgramFiles X86) 中Cognex 然后随便找到 一个工具的dll 拖入到指定工具项中。1.同AcqFifoTool工具一致 先在vp中保存 PMA工具 vpp文件 指定到winform路径下。1.acq工具设计界面 -CogAcqFifoEditV2工具。Edit 一般做为可视化控件展示 对应工具的设置页面。1.VP工具选项 右键--选择项。
2024-08-29 11:14:06
395
原创 机器视觉20
CogIPTwoImageSubtractTool 是 Cognex VisionPro 提供的一个用于对两张图像进行像素级减法运算的工具。通过对两张图像对应位置的像素值进行减法运算,可以生成反映差异的新图像,这在缺陷检测、变化检测等应用中非常有用。除了平均图像之外,该工具还可以计算标准偏差图像,其中较亮像素表示图像之间的较高程度的变化。对同一场景内的多张图片求平均,输出平均后的图像,可以消除噪声及光线不稳定对图像的影响。,可以实现图像的叠加处理,这在图像增强、噪声抑制等应用中非常有用。
2024-08-29 11:12:47
253
原创 机器视觉19
/获取ToolBlock 设置的输入参数 目的:用于blob结果判断的参考 也为以后动态设置检测胶囊数量 和面积 提供接口。//通过blob工具 获得所有结果的 边界线 GetBoundary() 获取边界线对象。//使用blob结果的中心位置 (保险丝案例使用的时pma结果的中心位置)//CogPolygon 边界线显示图形 可以勾画出blob中缺陷的轮廓。//获得颜色匹配工具结果中最佳匹配的名字 用于后续记录个数。//获取blob每个结果的中心坐标 用于 label坐标。
2024-08-29 11:11:51
629
原创 机器视觉18
4.设置填充数值 128 目的 为了 使填充的区域灰度值和 目标图像背景灰度值 一致。1和2 把 blob中的灰度图添加到 copyRegin的俩个图像输入参数中。label.Font = new Font("微软雅黑", 20);label.Font = new Font("宋体", 20);//判断是否有图形缺陷 true 为无缺陷 false反之。//判断高度 大于110或者小于90 上方特征有缺陷。//判断高度 大于65或者小于50 下方特征有缺陷。
2024-08-29 11:09:21
886
原创 机器视觉16
label.SetXYText(circle.CenterX, circle.CenterY, "半径:" + circle.Radius.ToString("0.00"));label2.SetXYText(200, 150, "最大值:" + max.ToString("0.00"));label4.SetXYText(200, 210, "平均值:" + max.ToString("0.00"));label2.Font = new Font("宋体", 20);
2024-08-29 11:06:00
982
原创 机器视觉15
包含的对象类型为 ICogGraphic 所有图形对象 都可以直接放入集合中。创建一个CogGraphicCollection。创建一个List<ICogGraphic >所有图形基于 ICogGraphic类。二.直线CogLine。创建多个List<>
2024-08-29 11:04:12
196
原创 机器视觉14 相机连接
3.把电脑和相机 IP 设置成一个网段中 (例如 电脑为 169.254.22.9 相机设置为169.254.22.10)1.如果没有使用gige 工具配置IP的话 可以在此处修改 (如果修改过的 直接可以使用)如果有些同学的转换头 没有使用 绿联的千兆 就无法拍清楚照片 (原因:无法设置 9K)1.如果修改电脑子网掩码 要点 2 更新设置 (相机设置 也一样)1.相机电源线 接头 (使用红色和黑色 线头要串联)1.双击相机 打开相机操作页面。
2024-08-29 11:01:52
226
原创 机器视觉13 镜头
一端收集物体的光线,并将光线在另一端汇聚为实像,并投影到接收面的物体。此时,汇集光线的点称为,镜头中心到焦点的距离称为。当镜头为凸镜时,焦点距离将根据镜头的厚度(膨胀)程度不同而各不相同,膨胀程度越大焦点距离越短。
2024-08-29 11:01:08
986
原创 机器视觉12 相机
CCD和CMOS是数码相机中用来感光成像的部件,较大的CCD尺寸通常能提供更好的图像质量和更低的噪点 例如,1/1.7英寸的CCD比1/2.5英寸的CCD在相同像素下表现更好。CMOS芯片有卷帘式曝光(逐行曝光)和全局式曝光,帘式曝光适合拍摄静止物体,摄运动物体有拖影,全局式曝光可以拍摄静止或运动物体。面阵相机是以“面”为单位来进行图像采集的成像工具,可以在短时间内曝光、一次性获取完整的目标图像。目前常用的相机分辨率有30万,80万,逐行 曝光方式下按行曝光像素,整个图像曝光需要一定的时间,对于。
2024-08-29 11:00:28
226
原创 机器视觉11 光源
不同的生产线,不同的 工作环境对光源亮度,工作距离,照射角度等的要求差别很大。有时受限于具体的应 用环境,不能直接通过光源类型或照射角度的调整而获取良好的视觉图像,需要借助于一些特殊的辅助光学器件。紫外光的波长一般为190-400,我司主要采用385波长的紫外光, 其波长短,穿透力强,光前卤素灯的替代品,尤其适合作为镜头的同轴光源等,高效散热装置,大大提高光源的使用寿命。常用的环形光有0°,30°,45°,60°,90°打光角度的环形光。不同的光源产生了完全不同的成像效果,从而也导致不同的检测算法。
2024-08-29 10:59:41
808
原创 机器视觉10
边缘幅度图像:基于输入图像中像素的边缘幅度的输出图像。较大的边缘将在输出图像中生成具有较高亮度值的边缘,而较小的边缘将生成具有较暗的灰度值的边缘。CogSobeEdgeTool是边缘提取工具,一张图像经过CogSobeEdgeTool工具处理后能够得到此图像的边缘幅度图像和边缘角度图像。4.设置填充数值 128 目的 为了 使填充的区域灰度值和 目标图像背景灰度值 一致。1和2 把 blob中的灰度图添加到 copyRegin的俩个图像输入参数中。3. 用固定的像素值对图像中的部分区域进行填充。
2024-08-29 10:59:01
903
原创 机器视觉9
能够消除仿射矩形的旋转和倾斜的影响,并且能够设置一个比例参数,以使能够放大或缩小矩形区域内的特征。这些操作可以帮助改善图像质量,突出图像中的重要特征,便于后续的图像分析和处理。用指定的放大倍数放大整个图像或整个图像的一部分。mLabel.SetXYText(200, 200, "缺陷结果:"+a+"\n"+b+"\n"+c+"\n");根据卷积核的大小,常见的卷积尺寸有1×1卷积、3×3 卷积、5×5卷积、7×7卷积。封装:超出255亮度的像素会执行减去256的操作,小于0的会执行加256的操作。
2024-08-28 14:55:23
608
原创 机器视觉7
黑白瓷块必须以交叉图案方式排列黑白瓷块必须具有同样的尺寸瓷块必须为矩形,其纵横比范围是0.90 到1.10在通过相机采集的校正板图像时。1.所采集的图像必须包括至少9个完整瓷块2.所采集的图像中的瓷块必须至少为15×15像素3.增加校准图像中可见的瓷块数量(通过减小校准板上瓷块的尺寸) 提高校准的精确度校准工具做了什么?
2024-08-28 14:51:08
877
原创 机器视觉5
容差下限和上限分别表示此颜色平面中的像素可具有且被视为处于所需范围内的颜色较小值和较大值。解析:每个颜色平面都有默认的范围,来增大或减小工具将视为允许范围内的颜色值。标称值表示为图像定义的具体颜色空间(RGB 或 HSI)中的平均颜色值。CogColorMatch颜色匹配工具,报告相应颜色匹配分数。1.颜色匹配范围是整张图 会影响提取色彩的得分。1.添加匹配颜色模块 (其他彩色图片同此步骤)重叠颜色 代表匹配成功区域 显示的色彩。1.添加点形状的 颜色查找工具。2.添加区域形状 颜色查找工具。
2024-08-28 14:49:02
690
原创 机器视觉4
提取线(extract line)允许OCRMax工具检查感兴趣的区域,并尝试使用当前的分割参数集将区域分割为正确的字符符号。运行时提取(extract on run)允许该工具每次运行时都对感兴趣区域执行细分。预期文字(expected text)输入包含当前图像感兴趣区域的字符串。自动分段(auto-Segment)使用“预期文本”中的字符作为参数对感兴趣的区域执行分割。添加和调整。
2024-08-28 14:48:25
850
原创 机器视觉3
例如,如果一幅图像中包含一个面积为900像素的 blob,内含8个面积为10像素的孔洞,在最小特征尺寸设定为20像素时进行修剪,Blob 工具报告的是存在一个面积为900像素的单一 blob。Blob工具提供的运算符允许您在图像中的每个像素位置上,用特定邻域内的最小像素值或最大像素值替换。的过程是斑点分析中最难以预测和最具挑战性的方面,特别是如果您面对图像对比度和斑点数量在图像之间变化较大的情况。由于大多数图像中存在的缺陷,例如图像噪声,即使经过分割后,图像可能仍然包含不需要的特征。
2024-08-28 14:46:28
625
原创 机器视觉2
定义并选择fixture空间图像空间:1.EstablishNewFixture 建立一个新的Fixture空间4.FixtureSpace 指的是我们从pml工具建立的 fix空间2.定位空间的名字 可以自己重命名5.从fix工具中得到各种参数1.代表图像的原始坐标轴 以左上角为初始点 图像发生变化 位置不会变化2.代表fixture空间坐标轴,从pml工具中建立fixture空间坐标轴 在pml工具中已经定位坐标 所以fixture空间坐标轴图像发生变化 位置也会变化。
2024-08-28 14:44:27
767
原创 机器视觉1
1.如何使用QuickBuild和CogJob2.PMAlignTool工具操作方法抓取图像-设置训练区域及参数-训练模板-设置允许参数-运行-参看结果3.PMAlignTool的基本原理图案位置搜索工具基于边缘特征的模板而不是居于像素的模板匹配边缘特征表示图像中不同区域间界限的轮廓线(有大小有方向)支持图像中的特征旋转和缩放PMAlignTool常用参数1.算法 忽略极性 粗糙度 精细度 边缘阈值 弹性。
2024-08-28 14:43:46
735
原创 winform5
/ 把Main窗体中的工作分钟数存储起来,将来在其他事件中使用。// 定时器启动,前提定时必须能用Enabled=true;// 定时器停止,前提定时必须能用Enabled=true;// 把Main窗体存储起来,将来在其他事件中使用。// 到达休息时间时,把定时器停止。// 拿到Tip窗体的实例,参数1:工作分钟数,参数2:Main窗体。// 需求:每间隔1秒钟,判断是否已经到休息时间,如果已经到休息时间,if (secondStart >= second) // 休息时间到。// 让定时器能用。
2024-08-28 14:42:44
737
原创 winform4
称name为键,value为值,也可称name为属性名称,value为属性值。// 编写代码麻烦,所以我们需要把json格式的字符串反序列化成对象。// 反序列化要想成功,有一个关键点:对象的属性列表必须和json。// 反序列化后,操作对象方便,访问对象的属性直接打点调用。//反序列化2和序列化2 - 因为json文件为集合,所以新建一个集合。//temp也是jsondata类型的,但是temp是一个对象。// 反序列化:把一个json字符串转换成对象。// 序列化:把一个对象转换成json字符串。
2024-08-28 14:40:35
961
原创 winform3
ofd.Filter = "文本文件|*.txt|音频文件|*.wav|图片文件|*.jpg|所有文件|*.*";// 例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。" 可以匹配 "do" 或 "does"。//包括普通字符(如,a - z,A - Z,0 - 9等)和特殊字符(如:+,?//Console.WriteLine("替换结果 " + result);// 例如,zo* 能匹配 "z" 以及 "zoo"。
2024-08-28 14:39:27
588
原创 winform2
j++) //列循环。tabControl1.TabPages.ContainsKey(tab1.Name))//如果有就不再添加。//this.dataGridView1.Rows[index].Cells.Count 获取当前行有多少个单元格。//dataGridView1.Rows[0].Cells 第一行中cell的集合。//dataGridView1.CurrentRow.Index 选中行的索引值。//dataGridView1.Rows.RemoveAt 删除某一行。
2024-08-28 14:37:48
606
原创 winform
事件:现实中要做的或者已发生事情。用户和windows与控件交互的“桥梁”,用来响应用户的各种操作 (点击事件,用户输入文本框等)1. 事件的3要素 事件的目标 事件属性 事件执行程序事件的目标 :交互的控件对象事件属性:事件目标和用户交互的不同状态事件执行程序:事件目标和用户时执行的结果2、事件绑定方式1.控件绑定法:找到对应控件事件属性 填入对应事件执行程序名称 在事件执行程序中完成对应逻辑2.自定义事件方法和绑定事件方法(用于代码法创建控件时使用)
2024-08-28 14:24:42
885
原创 c#基础5 进程
线程和线程池都是进行多线程操作的,线程池是用来保存线程的一个容器,在程序创建线程来执行任务的时候线程池才会初始化一个线程,线程在执行完毕之后并不会被销毁,而是被挂起等待下一个任务的到来被激活执行任务,当线程池里的线程不够用的时候会新实例化一个线程,来执行,线程池里的线程会被反复利用。//5.Async方法在执行的时候,开始是以同步的方式执行,直到遇到await关键字,//4.await 描述的也是方法 但是必须是使用线程(task)的方法。2.async 是“异步”的简写,sync 是“同步”的简写。
2024-08-28 14:16:01
880
原创 c#基础4
public static void Test1<T,鸡>(T a, T b,鸡 c)泛型类C#语言中泛型类的定义与泛型方法类似,是在泛型类的名称后面加上<T>,当然,也可以定义多个类型,即“<T1,T2,・・・>”。set;1. 类和结构实际上都是创建对象的模板, 每个对象都包含数据,并提供了处理和访问数据的方法2. 类是引用类型 对象存于堆中 可以通过GC管理内存 结构是值类型 对象存于栈中 、
2024-08-26 11:49:55
724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人