勇哥曾经很向往有一台机器人,好在家里搞些视觉实验。可惜这东西值一台四轮车的钱,估计真买了的话,会被老婆按在地上摩擦。其实仔细想想,视觉对位的应用,难点在于标定、还有标定后的对位过程,而不在于怎么找线找点(当然有些时候这个也是难点,但是跟物料关系密切,也就是变成了解决工艺上的问题,不存在原理都不懂的的懵逼)标定的过程主要难点在机器人吸盘的中心和法兰盘的中心不共心,还有些应用中涉及到多相机协调,如果B相机不方便标定,你还得把A相机的标定结果映射过去……标定后的对位也是困难的地方,这个涉及到参考模板与
声明:本文为转载GentlerMan朋友的ApolloStudio系列的文章,所转载图片水印为系统自动添加,并没有盗用其版权的用意。在激光标记领域已越趋成为自动化行业中在质量追溯体系管控环节不可或缺的重要一环的今天,传统的标记方式已不能满足于各类综合性比较强的项目需要了,从而结合越来越多新技术的案例也变得更多了起来,现在我们将一起探讨下机器视觉图像匹配定位技术与传统的激光标刻相结合的一个案例(本文中将展示笔者提出的一种坐标系转换思路和方法,当然这肯定不是唯一的,有兴趣的读者可以自行探索更多的解决
程序调用十张不同光照下的图片,尝试找ncc模板,求取模板位置。最后计算结果的标准差。代码如下:* This example program shows how to use HALCON's correlation-based
* matching. In particular it demonstrates the robus
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,实际上并不是,我们不用去
*
* Initialize the program
dev_close_window () //关闭图形窗口
dev_open_window (0, 0, 768, 576, 'black', WindowHandle) //打开一个原点在(0,0)的宽为768,高为576,背景为黑色的图形窗口
这个例子有点意思 ,非常值得学习一下。它是测量透视畸变图像上的划痕的长度。利用halcon标定板,在透视畸变下进行标定。把畸变消除后,测量标准片的长度,很准确,是3cm。然后测量透视畸变图像上的划痕的长度。代码:* This program measures the length of scratches in world
* coordinates in a pe
Region特征分为三部分(1)基础特征:region面积,中心,宽高,左上角右下角坐标,等效椭圆长半轴短半轴方向,洞数及其面积,粗糙度,联通数,最大半径等。(2)开关特征:外接圆半径,内接圆半径,圆度,紧密度,长度,矩形度,凸型,偏心率,蓬松度,外接矩形的方向和两边长度等。(3)几何矩特征:二阶矩,三阶矩,主惯性轴等。12region_features(Regions : : Features : Value)* 计算Region指定特征12select_shape(Regions : Sel
腐蚀:利用n*n的结构元素扫描图像的每一个像素,结构元素原点与扫描像素覆盖,进行“与”运算,如果都为1,则结果图像的该像素为1,否则为0。(收缩图像)膨胀:利用n*n的结构元素扫描图像的每一个像素,结构元素原点与扫描像素覆盖,进行“与”运算,如果都为0,则结果图像的该像素为0,否则为1。(扩大图像)region边界应用:原图 - 腐蚀后 = 内边界原图 - 膨胀后 = 外边界 1.gen_disc_se功能:创建椭圆形结构元素,用于图像的腐蚀膨胀2.gray_erosion功能:使用结
勇哥今天突然想到一个要求:希望read_region读到的Region对象如何转回rectangle2的5个参数。看下面的代码,gen_rectangle2生成的region被保存起来,之后我通过read_region读回来,想得到当初gen_rectangle2的那5个参数常量。通过region_features算子取得的4个参数len1,len2,row,col其小数点后第一位有差别。取到的phi,跟原来的完全不同。这个问题貌似暂时勇哥也找不到好的办法哦,以后有结果了再来补上。-------