勇哥曾经很向往有一台机器人,好在家里搞些视觉实验。可惜这东西值一台四轮车的钱,估计真买了的话,会被老婆按在地上摩擦。其实仔细想想,视觉对位的应用,难点在于标定、还有标定后的对位过程,而不在于怎么找线找点(当然有些时候这个也是难点,但是跟物料关系密切,也就是变成了解决工艺上的问题,不存在原理都不懂的的懵逼)标定的过程主要难点在机器人吸盘的中心和法兰盘的中心不共心,还有些应用中涉及到多相机协调,如果B相机不方便标定,你还得把A相机的标定结果映射过去……标定后的对位也是困难的地方,这个涉及到参考模板与
CAD坐标系转换2020-04-02 09:48:48
大家在运用CAD的时候可能会经常遇到需要将原坐标系转换为自己需要的坐标系,现在教大家如何运用。正常情况下我们拿到的CAD图纸是这样的,但是我们需要把他转换成我们需要的样式。如这样:这样的话看起来就会更直观更舒服一些。1、在命令行输入UCS,然后空格确认,就会出现如下图的提示2、根据提示我们输入N,选择新建坐标系,就会出现如下图的提示3、根据提示我们输入3,此步骤依据个人喜好输入,这里我们以3为例,然后会提示我们输入新建坐标系的原点坐标。4、在图上我们点击新建坐标系的原点5、在图上根据提示我们点击
声明:本文为转载GentlerMan朋友的ApolloStudio系列的文章,所转载图片水印为系统自动添加,并没有盗用其版权的用意。在激光标记领域已越趋成为自动化行业中在质量追溯体系管控环节不可或缺的重要一环的今天,传统的标记方式已不能满足于各类综合性比较强的项目需要了,从而结合越来越多新技术的案例也变得更多了起来,现在我们将一起探讨下机器视觉图像匹配定位技术与传统的激光标刻相结合的一个案例(本文中将展示笔者提出的一种坐标系转换思路和方法,当然这肯定不是唯一的,有兴趣的读者可以自行探索更多的解决
*重要理解一下这个几个算子
* dev_update_off ()
*  
程序调用十张不同光照下的图片,尝试找ncc模板,求取模板位置。最后计算结果的标准差。代码如下:* This example program shows how to use HALCON's correlation-based
* matching. In particular it demonstrates the robus
都说“纸上得来终觉浅,绝知此事要躬行”,可惜咱没这条件呀,没项目咱也不能干坐着呀,那咱发挥主观能动性,咱不是学机械的么,还好还记得一点CAD的知识,今天小杨说事,咱就“纸上谈兵”,用CAD结合公司的视觉算法平台VisionMaster来说说相机映射和对位贴合的事,如果有错误的地方,还请各位自动化前辈多多指教,毕竟网上的关于这个知识太少了。实际的生产过程中,我们常常会碰到这样的情况,机械手从工位一吸着对象到工位二进行贴合,但是工位二我们不方便执行标定,通常的做法是在工位一执行一次标定流程,然后使用
OpenCv的Mat和Halcon的HObject数据类型的互相转换,Halcon的版本是13.0,OpenCV的版本是3.2HObject Mat2HObject(const cv::Mat &image)
{
HObject Hobj = HObject();
int hgt = image.rows;
int wid = image.cols;
最小二乘法拟合直线概念:最小二乘法多项式直线拟合,根据给定的点,求出它的函数y=f(x),当然求得准确的函数是不太可能的,但是我们能求出它的近似曲线y=φ(x) 原理假设有点 , I = 1,2,3,……n,求近似曲线y=φ(x),并且使得y=φ(x)与y=f(x)的平方偏差和最小,偏差其中我们要找到一组最好的a b ,“最好的”就是要使选出的a b能使得所有的误差达到最小化。在此要注意以下,y=ax+b 这里面的未知量是什么,很自然的说法是x y,实际上并不是,我们不用去
勇哥接触过的基本上是面阵CCD,对于线扫相机没有接触过,这个贴子介绍了线扫相机的halcon标定的知识,放在这里做为扫盲贴子。一、标定板标定 13.0在工业镜头选型过程中,为了方便各位朋友计算工业镜头参数,现提供靶面尺寸表供参考。1.1英寸————靶面尺寸为宽12mm*高12mm,对角线17mm1英寸————靶面尺寸为宽12.7mm*高9.6mm,对角线16mm2/3英寸————靶面尺寸为宽8.8mm*高6.6mm,对角线11mm1/1.6英寸————靶面尺寸为宽8.08mm*高6.01mm,对
这个不是hlacon的标准标定板。勇哥想知道这个+-0.009mm是怎么整出来了。这个例子值得研究一下。ImgPath := '3d_machine_vision/calib/'
dev_close_window ()
dev_open_window (0, 0, 640, 480, 'black', WindowHandle)
dev_update_off