2020-11-16 20:10:33
这个是在快手上看到的一个视频。原图是马赛克的。然后图片放大十倍,勇哥当时想一定是勾选了“两次立方”进行了插补所以线条好了没有了马赛克。然后解说是,由边缘线条感觉太差,进行“高斯模糊”到边缘顺畅为止然后就是曲线,效果出来了。确实很神奇。对于勇哥搞机器视觉找产品的边缘有一定启发。但是,勇哥实际一试,完全不是那么回事。我从上面的原图(其实是视频屏幕截图)做起,依次效果是这样的:这是放大十倍,勾选了“两次...
2020-01-19 15:23:40
有同事问起过这个问题。确实在有些代码中会见到文件名前面有这样的图标,见下图所示:但是有些工程却没有这些图标,比如下面的工程:勇哥听到这个问题,想了一下,确实之前见过这些图标,当时没有仔细这个。再一想,不就是在编辑netMarketing类库的工程时见过这个吗?原来有版本控制的工程,就会有这种图标。通常被git接管的代码,其目录下都有隐藏文件夹.git。见下图。-------------------...
2020-01-11 21:23:12
CCD拍照出现横条纹的问题,一般人都知道,要么是网卡设置中的“巨帧”设置太小,要么是网卡模式:100M全双工/1000M全双工之类的设置有问题。详细如勇哥之前的贴子:Gig-E接口相机拍照出现横条纹或者是图像不完整的解决方法 这一次有一台尺寸测量设备在所谓的一次不关机断电后出现软件无法打开,现象是软件打后界面失去响应。经检查,是因为软件启动后,要进行一次拍图操作,就卡在这里出不来。使用官方CCD...
2020-01-08 10:09:53
这里勇哥讨论一下激光测厚仪和极片辊压机进行闭环控制时的一些经验。这种闭环控制,其目的是把激光测厚仪的厚度数据做为正反馈传给辊压机,然后辊压机自动调节内部压力以更新极片的输出厚度。n 只有伺服液压栈的辊压机才可以进行闭环调节, 因为这种液压栈精度很高,最小可以+-0.5um调节都会生效n 目前的基本原理是测厚仪上传辊压机左侧厚度,右侧厚度,标准值。辊压机调节对应的左侧辊缝压力、右侧辊缝压力n...
2020-01-08 09:44:56
关于尺寸机的验收标准,客户往往会提出漏检率和误判率。其中漏检率是指尺寸超标但是CCD判断为OK品,这是最严重的问题,客户对这种问题基本上是零容忍。误判率是指CCD判断为NG,但实际上不是NG。通常,我们希望客户把漏检率设定为千分之一,或者千分之二。误判率为3%。但是,有些时候业务部门签协议的时候,出于自身利益的考虑,有时候会让客户签出漏检率为0这样荒唐的内容。而且,对于漏检率和误判率写入设备协议里...
2020-01-02 08:57:51
之前勇哥的一款点胶机设备,运动部分采用固高运动控制卡。进行二轴插补时发现画的圆是个椭圆。初步是怀疑两个轴的脉冲输出量不同步,后来检查并不是这个原因。水穷水尽之时,突然想到之前有一台点胶机是正常的,那就对比一下两者的差别。程序是C#开发的,都是用的这个软件,而且都是固高运动控制卡,因此可以排除程序与运动卡的问题。不一样的是,可用的那台点胶机X,Y轴全部是皮带驱动的。有问题那台X轴是丝杆,Y轴是皮带。...
2019-12-05 08:06:17
勇哥继续讨论Epson机器人手眼标定的过程和一些经验。(一)九点标定时的高度与实际电池取放高度相差几毫米可以吗?依据最近勇哥现场做的实验来看,如果标定高度不等于电池取放高度,影响很大。定位的时候差别按mm来算,不是差一点半点。而且这种偏差呈放射状的变化,有点像CCD的成像方式。勇哥画了个示意,在下图中,电池1的偏差可能是向左,而电池6的偏差可能是向右。如果这个时候把电池面升高到原来标定的高度,你会...
2019-11-27 13:20:03
说一说勇哥手中一下手机前盖对位压合设备的一些经验。对位的基本原理如下图,灰色部分是CG,手机外壳与CG之间有9组gap(间隙)。理论上,如果CG对位是完美的,则:Gap1-Gap6=0Gap2-Gap5=0Gap8-Gap3=0Gap7-Gap4=0实际上不可能为0,而是到达一个经验值范围就算对位完成。(图1)而且,由于手机比较大,我们通常使用四个CCD分别拍四个角的方式来工作,这样可以获得较好的...
2019-11-08 13:59:22
勇哥的这个项目是整盘物料机器人视觉取料。由于该项目有两个相机,一个是整盘入料相机,用于判断物料有无和粗定位。另外还有一个下相机,用于精定位后物料入转盘机。本篇说的就是整盘入料相机的粗定位算法。这里勇哥使用的是halcon的形态学算法,相比找边的方式来说,其意义是速度快,能满足视觉一键换型的需要。read_image(backImg, 'C:/Users/hackpig/Desktop/蓝牙...
2019-11-07 13:20:25
勇哥项目中有下面这个拍照函数GrabOneImage()。在其它十几台设备上面运行没发现有什么问题,但是最近发现有一台设备上长时间运行不到半小时,程序就报告崩溃。错误原因是内存不足。 public bool GrabOneImage(bool isDebug)
{
try
{
//如果未初始化,先初始化...
2019-11-07 11:35:09
这款Basler相机1000W像素。GigE 接口,不用独立供电。它的故障现象为:halcon连续采图,有10帧的速度,但是单次采图有580毫秒。这种情况按经验一般怀疑下面的问题:(1)网卡驱动版本(2) 网卡驱动的设置项 (3) 网线的问题由于连续拍照帧速正常,因此问题3可以排除。对于问题1,问题2,勇哥检查了网卡的驱动与设置,确认了驱动程序版本与设置与另外的机器一样。所以也可以排除了。这个...
2019-11-01 22:17:01
halcon17支持1394的相机吗?勇哥可以告诉你:不支持!!想不到吧!勇哥手里的一款point grey的1394接口的相机就发现在halcon17怎么也找不到。我记得以前的win7 64位系统下是找得到的,现在换成了win10 64位就找不到了。其实不是系统的原因,而是,之前用的是halcon10,现在用了hacon17才发现找不到相机了。解决办法是,到halcon的网站上下载对应的接口。下...
2019-10-31 21:38:16
这个话题非常重要。勇哥苦于手中的项目遇到这样的问题。这些问题表现是:(1)视觉程序内存占用会越来越大。这种内存变大通常是缓慢变大,几天不关机持续运行的话,大到几个G也不稀罕。通常,急速内存变大要容易找到问题些,最怕的是缓慢变大。(2) 视觉程序会越运行越慢,会影响设备的PPM。通常工厂里的电脑一辈子不会关机,你可别指望他们会每班给你重启软件一次。(3)程序句柄越来越多,大至几万都有可能。这是一种什...
2019-10-25 09:14:10
(一) 浏览已经安装好的全部程序win10有时候安装完程序后,安装程序没有创建快捷方式,然后就找不到新增的程序在哪里了。这时候可以用到本技巧。在地址栏内输入Shell:AppsFolder这个名字,如图所示,然后回车,可以看到打开的这个文件夹内疚包含了当前电脑所有的安装程序。或者创建一个文件夹,更名为:Applications.{4234D49B-0245-4DF3-B780-389394345...
2019-09-12 22:01:25
勇哥公司配置的笔记本电脑安装的是win10 64位家庭版。使用win10访问一台win7系统的电脑中的共享目录,是没有问题的,但是反过来用win7的系统访问win10下的共享目录,报错,说没有权限之类的。在win10共享中添加everyone, Administrtors用户组,设置为可读可写,也无法访问。关闭win10的防火墙也是没有用的。于是想调用win10的组策略来设置一下安全选项,发现家庭...
2019-07-27 07:52:17
在win7 64位系统下安装vs2013有时候会被要求先安装ie10及以上版本,这个让人比较痛苦。各位可以创建一个扩展名为.bat的文件(即操作系统的批处理文件),写入下面的内容,最后运行这个批处理文件即可。@ECHO OFF
:IE10HACK
REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer&q...
2019-07-26 21:08:25
这款尺寸机配置如下,配置的是远心镜头,远心平行光源,相机是2500万。再调试中,遇到了一系列的问题,下面勇哥记录分析解决的过程。(1) 过渡像素太多的问题、过渡像素越少越好。如果过渡像素多,则CCD在反复拍照时会出现测量结果变化较大的问题。如下图所示,本机CCD的图像过滤像素是2个,属于比较好的效果。这得益于本机的灯光与相机的配置较高的原因。由于本机的镜头是定焦镜头,所以没有调节焦距的旋扭可以调节...
2019-07-25 15:56:36
基恩士H028,H025是红色点激光,使用两个头配合可以实现测量被测物的厚度。一般情况下,我们是把上头与下头值分别用outo1,outo2两个通道输出,然后在上位机上面读取并进行处理。但是如果想把上头值直接加上下头值,再输出是如何做到的呢?首先,创建一个out3,然后把outo2, outo3分别设置为传感头为: 传感头01,传感头02然后再设置outo1,选择“out之间的计算”,这时候,你发现...
2019-07-12 10:33:53
和以前的同事聊了一下他最近的项目,需要求产品的平面度。也就是产品本身是否面不平整,对于在这个平面上安装摄像头之类的元件来说,这个平面度是受工艺管控的。这个同事学校刚毕业没多久,学习得蛮快的,一年左右就能自己上手项目了,赞一个!由于这个知识勇哥也欠缺,就此记录一下,隐去项目本身,只用文字和代码记录一下相关的知识。下面代码由同事提供,在此对他表示感谢!平面度和平行度的算法平面度就是采集到一组点(x,y...
2019-05-16 20:50:20
例如,原始公差为: 2.50±0.2我们想到它放大为2.50±0.4此时,我们找到一组k,b值,按公式y=kx+b把公差为±0.4的值转换为公差为±0.2范围的值。有什么用呢?当客户给定的±0.2公差不太容易过关时,我们可以内部操作把公差放大一倍,但是我们得到值会被求到的线性关系k,b值修正到原始公差范围。说人话:这是一种内部操作过关的手段。勇哥来说明一下计算公式:例子A:原始公差:2.50±0....
2019-01-12 15:37:25
最近公司的一个案子是要测量电芯的直流内阻,费了相当大的力气,主要是对直流内阻这种测量玩法不太清楚。一直以来测试的要么是电芯的电压,要么是电芯的电阻,或者是电芯边电压,它们都是直接测量,并且一次搞定。直流内阻不同,它需要两个步骤,第一次取放电前的电压,第二次取放电后的电压,而且放电后需要间隔指定时间再取电压。然后通过公式算出直流内阻(DCIR),通过这个DCIR,可以判断电池的好坏。有关电芯的内阻参...
2018-12-27 08:28:42
忍不住要吐槽一下,这个工厂没事干加个什么域,好好的程序,加了域就出现异常,给勇哥都整些问题出来头疼。下图是这个问题的软件报错截图。由于这个**bzclass.dll是客户的一个监控系统提供的,并非是我自己软件的东西,这让勇哥心里稍稍有一点快感!看来是客户的几个部门之间没有沟通好,自己开发东西加域后能不能用也没测试过,但这个问题还是得解决,客户即使有错,也是供应商的错。2019/1/12 勇哥注:后...