[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

OpenCV学习14--自定义线性滤波

卷积模糊图像,图像边缘,增强图像常见卷积算子:Robert、sobel、拉普拉斯算子代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; int main(int argc,char ** argv) { M...

OpenCV学习13--基本阈值操作

阈值(threshold)简单地说就是把图像分割的一个标尺。阈值类型1.阈值二值化(threshold binary)大于阈值取最大值,小于阈值取最小值。2.阈值反二值化(threshold binary Interval)3.截断(truncate)超过阈值和阈值相等,否则为0.4.阈值取零(threshold to zero)小于阈值取0,大于的不变。5.阈值反取零(threshold to...

手机前盖(CG)对位压合的经验总结

说一说勇哥手中一下手机前盖对位压合设备的一些经验。对位的基本原理如下图,灰色部分是CG,手机外壳与CG之间有9组gap(间隙)。理论上,如果CG对位是完美的,则:Gap1-Gap6=0Gap2-Gap5=0Gap8-Gap3=0Gap7-Gap4=0实际上不可能为0,而是到达一个经验值范围就算对位完成。(图1)而且,由于手机比较大,我们通常使用四个CCD分别拍四个角的方式来工作,这样可以获得较好的...

OpenCV学习12--图像金字塔

金字塔原理图像金字塔是一个图像集合,集合中所有的图像都源于同一个原始图像,而且通过对原始图像连续降采样获得。在图像处理中,常常会调整图像大小,最常见的就是放大和缩小。一个图像金字塔是一系列图像组成,最底下一张是图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下看就像一个古埃及的金字塔。高斯金字塔–用来对图像进行降采样拉普拉斯金字塔–用来重建一张图片根据他的上层降采样图片。高斯金字塔:高斯金字塔是...

OPenCV学习11--形态学

在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=12感谢贾志刚老师的视频教程。开运算闭运算形态学梯度:膨胀减去腐蚀顶帽(top hat)原图像与开操作之间的差值图像。黑帽:闭操作图像和原图像之间的差值图像。提取直线:提取步骤输入彩色图像—转...

OpenCV学习10--腐蚀与膨胀

在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=11感谢贾志刚老师的视频教程。程序:#include<iostream> #include<opencv2/core/core.hpp> #include<h...

OpenCV学习9--模糊图像

在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=9感谢贾志刚老师的视频教程。图像模糊原理Smooth/Blur 是图像处理中最简单和常用的操作之一。使用该操作的原因之一就是为了给图像预处理时候减低噪声。使用Smooth/Blur操作背后是数...

OpenCV学习8--绘制形状和文字

在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。视频教程地址:https://www.bilibili.com/video/av17748771/?p=8感谢贾志刚老师的视频教程。绘制形状使用cv::Point与cv::ScalarPoint表示2D平面的一个点x,yp = Point(10,8);Scalar表示四个元素的向量Scalar(...

OpenCV学习7--调整图像亮度和对比度

在opencv\sources\samples下面提供了很多的官方例程,是学习OpenCV的最好的资源。理论:图像变换可以看做如下:像素变换–点操作邻域变换–区域操作其中图像亮度和对比度属于像素变换–点操作α是对比度调节参数,β是调节亮度。一些主要API:Mat new_image = Mat::zeros(image.size(),image.type()); //创建一个空白图像saturat...

OpenCV学习6--图像混合

理论–线性混合操作线性混合理论:两幅图像的每个像素都进行加权相加。α的取值范围是0~1。相关API线性混合API:void cv::addWeighted(inputArray src1,double alpha,InputArray src2,double gamma,outputArray dst,int dtype = -1);代码演示#include<iostream> #i...

OpenCV学习5--图像操作

修改像素值灰度图像img.at< uchar>(y,x) = 128;RGB三通道图像img.at< Vec3b>(y,x)[0]=128;//blueimg.at< Vec3b>(y,x)[1]=128;//blueimg.at< Vec3b>(y,x)[2]=128;//blue空白图像img=Scalar(0);ROI选择Rect r(10,1...

OpenCV学习4--Mat对象

Mat对象Mat对象:OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构,分了两个部分,头部分与数据部分。Mat对象构造函数与常用方法构造函数:Mat()Mat(int rows,int clos,int type)Mat(Size size,int type)Mat(int rows,int clos,int type,const Scalar &...

机器人不用旋转中心进行标定

旋转中心标定方式的说明在下面的图例中,红色为相机视野(FOV),黄色为工件,五星为Mark点。(训练的标准位置)(工件发生平移)(工件发生旋转与平移)(图4)旋转中心方法用于所有机器人与视觉配合场景方法 :计算工件实际发生的偏移量 和旋转,结合机器人的旋转中心进行二次补偿后 ,把补偿量 发送给机器人 ,然后机器人把补偿量进行抓取或放置即可。计算 某个点绕另外一旋转定角度后的坐 标,如图 :A(x,...

OpenCV学习3--图像的掩膜操作

获取图像像素的指针CV-Assert(myImage.depth()==CV_8U);Mat.ptr < uchar>(int i=0)获取像素矩阵的指针,索引i表示第几行,从0开始计行数。获得当前行指针const uchar * current = myImage.ptr< uchar>(row);获取当前像素点P(row,col)的像素值p(row,col)=curre...

OpenCV学习2--图片的加载,修改与保存

之前安装配置好OpenCV的环境之后,就可以进行使用了。下面是关于OpenCV的图像处理程序。#include<iostream> #include<opencv2/core/core.hpp> #include<highgui/highgui.hpp> using namespace cv; using namespace std; int...

相机内外参数以及畸变参数

关于大佬们的一些见解下面是引用知乎的一段文字:  我们从单目视觉说起。平时我们都说要做视觉识别、测量云云,然后我们就会去拍照,再对数字图像做各种处理,颜色处理、灰度化、滤波、边缘检测、霍夫变换,最后得到了希望得到的特征,是这样的对吧? 不过请注意!到了这一步,其实我们仅仅是得到了一坨坨感兴趣的像素而已!究竟要怎样才能把这些像素转化到现实世界的对象中呢?也就是说,究竟要怎样对这些仅存在于图像中的东西...

OpenCV学习1--介绍与环境搭建

PS:安装过程中的一些总结和教训安装文件夹里的V11对应的是VS2012版本,V14对应的是VS2015版本,所以使用VS2012的人可能无法使用opencv3后面的一些新版本的库,目前的opencv基本都支持V14,所以尽量安装VS2015.VS2012的平台默认是Win32,和你的电脑的位数无关,所以我们在VS2012上安装的时候只能选择X86的版本和Win32的平台。OpenCV是计算机视觉...

深入浅出地理解机器人手眼标定

参考代码:https://github.com/christianwengert/calib_toolbox_addon所谓手眼系统,就是人眼睛看到一个东西的时候要让手去抓取,就需要大脑知道眼睛和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。相机知道的是像素坐标,机械手是空间坐标系,所以...

Epson机器人的重量与惯性设置

勇哥的同事反映,设备的机器人在低速运动的时候,取放重复性精度可以做到+-0.2mm。但是在高速运行的时候,精度只能做到+-0.8mm。这又是什么鬼呢?我问了一圈公司的高手,他们的意见是:(1)机器人的惯性与重量要设置(2)机器人的acc加速度参数要设置,让起停速度更圓滑些(3)观察机器本身的晃动、相机的晃动、机器爪的晃动,看是否有影响(4)机器人取放之前的暂停时间是有必要的精度要求不高的时候,机器...

Epson机器人标定后验证标定的精度(七)

这一次勇哥使用Epson机器人的标定来进行验证标定后的精度。首先按下图做九点标定。注意对于Epson机器人自己的标定指令来说,它认下面的顺序,不要乱搞。一般流程是:(1)你打印一张九点标志的纸,尽量能铺满视野范围。(2)在吸盘下装一个铅笔一样的针尖,去扎九个点的十字中心经过上面的步骤,你就能获得九组像素坐标与机器人坐标。但勇哥这台机器是背光的,这样搞不了。所以我只能先工具坐标标到标准片的Mark点...

EPSON简单视觉应用编程

EPSON简单视觉编程需要设备1.EPSON机械手一台。2.工业相机一个。3.通讯设备。以固定向下相机为例1.首先准备一个类似针尖工具,装到法兰盘上。2.准备一张九个MARK点,尽可能遍布整个拍照区域。3.建立一个camera_down_camera.pts点文件。将示教好的mark点和视觉像素点分别写入P1-P9 P11-P19中。4.新建一个cal.prg程序。5.编辑cal.prg程序。Fu...

​Epson机器人同第三方相机校准方法

Epson机器人同第三方相机校准方法基本思路:1. 相机通过以太网RS232同机器人通信2. 按机器人校正指令的要求获取、分离相机发送过来的信息3. 使用校准指令准备工具:1. 制作9宫图2. 制作机器人工件坐标的校准工具(类似铅笔,装在Z轴或者抓手上)一. 机器人与相机通过以太网通信(tcp/ip)1. 制作如下9宫图,该图的大小尽量占满相机的视野范围,但是不能太靠近边界,可用打印机打印,为获得...

EPSON机器人同第三方相机校准步骤

目的:将第三方相机的视野坐标与EPSON机器人的坐标进行校准,建立转换关系基本思路:1. 相机通过以太网或RS232同机器人通信,按机器人校正指令的要求获取、分离相机发送过来的信息2. 按照校准步骤,记录机械手校准点的机器人坐标和视觉像素坐标3. 使用校准指令,建立机械手和视觉的坐标转换关系视觉工作时,将检测到的工件的坐标发给机器人,机器人根据坐标转换关系,转换为机器人坐标后再去做抓取、装配...

直线与方程(一)倾斜角与斜率

在平面直角坐标系中,怎么确定唯一的一条直线?答案是:直线上的一个定点以及它的倾斜角,二者缺一不可。坡度(图1)生活中使用用“升高量与前进量的比”表示倾斜面的“坡度”,即:坡度(比)=升高量/前进量例如,“进3升3”,“进2升2”,指的坡度比为分别为: 3/2, 2/2,前者改陡一些。斜率如图1,坡度比实际上就是tan(a),即倾斜角的正切。我们把一条直线的倾斜角a的正切值叫这条直线的斜率(slo...

三角函数超入门(14) 加法定理

直接写出加法定理:可见,sin(a+b)并不简单等于sina+sinb。之前说过,在三角函数中我们只需要掌握6个公式(其它的做到可以推理出来),加上这两个,就齐全了。而tan的加法定理可以通过tanθ=sinθ/cosθ推导出来。tan(a+β)= sin(a+β)/cos(a+β) =(sinacosβ+cosasinβ)/(cosacosβ-sinasinβ)这个等式右边也用tan来表...

Epson机器人标定后验证标定的精度(六)

接上一篇《Epson机器人标定后验证标定的精度(五)》接下来,验证一下取放重复性测试和全视野取放重复性测试。重复性测试我就不解释了。全视野取放重复性测试是指同样的料分别从视野的上,中,下进料(见图1),这个测试对于一键换型视觉很重要。因为人家换了个品种后,可能原来从上路进的料,变成从下路进料,这时候你的结果是否相差很大呢?(图1)下面的数据是按上面方式进料进行的取放重复性精度测试。上,中,下位置分...

Epson机器人标定后验证标定的精度(五)

接上一篇《Epson机器人标定后验证标定的精度(四)》我们继续做实验,开始人工创建工具坐标。(图1 ct1点起始位置做为第一点)注意看箭头处的红圈,它始终都指示着像素x:1088.8 y:907.67的位置。等一会我们转180度后,就靠这个固定的红圈位置做指示。创建一个转180度后的示教点,角度88.929+180=268.929(图2)然后走到这个点位。(图3)走到z180点后,角度是正确的,...

Epson机器人标定后验证标定的精度(四)

接上一篇《Epson机器人标定后验证标定的精度(三)》我们继续做实验。这一次我们不用现有的示教点做tool0到tool1的转换对比,而采用指定一个点(目标像素点),转为机械坐标后再运动过去,再对比特征点的位置。标定特征点信息 像素x:690.251 像素y:458.546 机械x:278.650031470315 机械y:-13.713127158548 要移动到点的位置(红点处)为:685,4...

Epson机器人标定后验证标定的精度(三)

我们定义四个移动点(九点标定简化只用4个),3个旋转点,一个测试点(图1)标定的log信息:09:31:45 机器人连接成功 09:31:45 等待机器人前往标定点1...... 09:32:00 模板位置:0, X:434.266, Y:546.689, U:-0.001 09:32:01 机器人到达标定点1,当前像素坐标为:457.752;443.519机械坐标为:3.7...

Epson机器人Local坐标的使用

Local坐标的使用爱普生机器人local坐标系使用,主要用于拍照MARK点坐标,根据MARK点的本地坐标,自动计算所有工作点在机器人坐标系下的坐标点,引导机器人定位、装配等工艺。Local坐标又叫本地坐标,或者工作坐标。适用于工作点较多而且点相互之间有明确的几何关系。例如PCB(一般有特定的参考点、有相对于参考点的工作点位置)或者数控加工零件。Local指令Local可以指定一个Local坐标,...
会员中心
搜索
«    2024年5月    »
12345
6789101112
13141516171819
20212223242526
2728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864