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

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

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

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

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

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

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

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

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

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

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

OpenCV学习21--图像直方图

灰度直方图,RGB直方图,梯度直方图对于数据在一定范围之内,可以统计频率的都可以做直方图。图像直方图。是指对整个图像在灰度范围内的像素值(0-255)统计出现频率次数,据此生成的直方图成为图像直方图,直方图反映了图像灰度的分布情况,是图像的统计学特征。直方图均衡化是一种提高图像对比度的方法,拉伸图像灰度值范围。如何实现均衡化呢?通过重映射可以将图像灰度分布从一个分布映射到另一个分布,然后在得等映射...

Epson机器人左右手走相同点位不准的问题

勇哥最近跟的一台设备,其视觉定位出现一种奇怪的现象:定义好工具坐标1后,进行九点标定,然后把视野内的5个像素点位置转为机器人坐标,依次走过去看是否准确。结果发现只有中间的两个点走过去是比较准确的,而其它的几个点最大偏差有几个毫米!并且偏差的位置没有规律,有的是向左边偏,有的向右边偏。操,这又是什么鬼呢?重新做工具坐标1,做好后,在原地旋转一定角度后,再截原来的点,发现工具1并不准确,有零点几个毫米...

measure_pos方式的找线的参数详解

勇哥之前发表的一篇文章《Halcon学习(27-2)halcon测量技术:找线》这个文章介绍的找线方式是使用算子measure_pos来工作的,因此这种方式适合halcon及以上版本。勇哥另外几篇贴子里介绍了适合halcon17及以上版本的找线方法:《视觉进阶:2D Metrology(二维计量)》《halcon17的找线功能》听说,这些高阶的功能其实也是对halcon10原来的算子的一些封装。因...

Epson机器人手眼标定的过程与经验(一)

勇哥继续讨论Epson机器人手眼标定的过程和一些经验。(一)九点标定时的高度与实际电池取放高度相差几毫米可以吗?依据最近勇哥现场做的实验来看,如果标定高度不等于电池取放高度,影响很大。定位的时候差别按mm来算,不是差一点半点。而且这种偏差呈放射状的变化,有点像CCD的成像方式。勇哥画了个示意,在下图中,电池1的偏差可能是向左,而电池6的偏差可能是向右。如果这个时候把电池面升高到原来标定的高度,你会...

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

这一篇勇哥来谈一谈验证视觉取放料准不准如何来判定的问题。机器在客户工厂试产阶段,会暴露出整机定位精度不准的问题,这时候机构会甩锅给视觉这边,如何反驳呢?首先,我们视觉这边必须要有数据证明视觉取放精度是满足要求的.这一点之前的贴子中勇哥讲了许多.主要方法有两种:一是在标定完成后,在视野的最大范围内确定一批像素点, 转为机械人坐标后走过去戳下去, 看准不准.二是取实际的物料, 然后放置回视野内的一个固...

halcon的​angle_ll算子和angle_lx算子如何表示角度的

先来段代码。 angle_ll (Row1, Column1, Row, Column,Row1, Column1, Row5-RT_Y, Column5+RT_X, Angle1) disp_line(200000, Row1, Column1, Row, Column) disp_line(200000, Row1, Column1, Row5-RT_Y, Co...

三角函数在图形学里的应用(五) 把直线移动到指定点

(应用6)已经直线的起始端点与终止端点,把这条直线移动到指定的点勇哥先放上halcon写的函数moveline的代码,它的作用是把一条线移动到指定的点。resultLineStartPointRow := 0 resultLineStartPointCol := 0 resultLineEndPointRow := 0 resultLineEndPointCol := 0 projecti...

三角函数在图形学里的应用(四) ​已知矩形的中心点、边长、phi求四个顶点的坐标

已经矩形的中心点、边长、phi求四个顶点的坐标 在halcon里面,类似gen_measure_rectangle2、smallest_rectangle2的算子表示任意角度的矩形。其信息包括:矩形中心点 row,column矩形角度 Phi矩形区域的长和宽的一半 Length1, Length2如下图所示:(图1)就没有没直接给出矩形4个顶点坐标。有时候想知道4个顶点的坐标怎么计算呢?由于勇哥手...

三角函数在图形学里的应用(三) 三角函数画圆法

三角函数画圆法画圆可以用圆的方程来画。原点为圆心,半径为r(r>0)的圆的标准方程为x^2+y^2=r^2也可用三角函数的方式来画。下面是画圆的C#代码:/// <summary> /// 利用三角函数画圆 /// </summary> /// <param name="radius"></param> /// &l...

OpenCV学习20--像素重映射

重映射就是把一个图像中一个为之的像素放置到另一个图片指定位置过程。为了完成重映射过程有必要获得一些插值作为非整数像素坐标,因为原图像与目标图像的像素坐标不是一一对应的。我们通过重映射来表达每个像素的位置(x, y):g(x, y)=f(h(x,y))这里g()是目标图像,f()是原图像,h(x,y)是作用于(x,y)的映射方法函数。假设有一幅图像I,满足下面条件作重映射:h(x,y)=(I.col...

OpenCV学习19--霍夫变换检测圆

原理:霍夫变换圆检测原理和直线相似,直线检测需要两个参数(theta,r)。圆形需要圆心做坐标两个参数和半径。对左边做霍夫圆变换可以发现圆形的位置变成了一个两点,说明HoughCircles(image,outputArray circles, 发现圆信息int method, 方法-HOUGH_GRADIENTdouble dp, dp = 1;double mindist, 最短距离,可以分辨...

OpenCV学习18--霍夫变换检测直线

霍夫变换直线检测前提条件:边缘检测已经完成(单通道8位灰度图像,经过二值化变为黑白图像)平面空间转到极坐标空间通过上式子可以把像素点转化成极坐标,如下图所示。上面的曲线相交与一点,说明了什么信息呢?说明这些像素都在一条直线。比如一个图像有200个像素,通过坐标变换。那么就可以得到200条曲线。相交点的对应横坐标角度就是直线在空间坐标的角度。这就是霍夫变换的原理。霍夫直线变换介绍:变换到极坐标中,从...

OpenCV学习17--Canny算子

算法介绍:Canny是一种边缘检测算法1.高斯模糊–GaussianBlur2.灰度转换–cvtColor3.计算梯度–sobel4.非最大信号抑制 对非边缘的像素进行移植,在切向和法向 去掉,5.高低阈值输出二值图像,进行边缘连接,如果大于最高阈值的像素要保留,低于最低的要舍去,中间的作为连接图像。非多大信号抑制:在x方向和y方向做完梯度变换角度是梯度变化最大的方向。如果在和梯度垂直的方向上的相...

OpenCV学习16--Laplance算子

理论:在二阶微分的时候,最大变化处的值为零即边缘是零值,通过二阶导数计算,依据理论我们可以计算出图像二阶导数,提取边缘。处理流程:高斯模糊-去噪声GaussianBlur()转化为灰度图像cvtColor()拉普拉斯-二阶导数计算Laplacian()提取绝对值convertScaleAbs()显示结果代码:#include <opencv2/opencv.hpp> #include...

OpenCV学习15--处理边缘

卷积边缘问题在做卷积处理时,图像边缘的像素不会被卷积操作。原因在于边界像素没有完全跟卷积和重合,所以3x3像素会有1个像素的边缘没有被处理。边缘处理方法:在卷积开始之前增加边缘像素,填充的像素为0或者RGB黑色。这样就确保边缘被处理。OpenCV默认的是BORDER_DEFAULT,其他还有:BORDER_CONSTANT - 填充边缘用指定像素BORDER_REPLICATE -填充边缘像素用已...

三角函数在图形学里的应用(二) 点绕原点旋转(方法2)、点绕任意点旋转

点绕原点旋转(方法2)和上一篇《三角函数在图形学里的应用(1)》中的条件不同的是,现在我们不知道OP0和OP1有多长。还是要求p0绕着圆点绕到p1,求p1。图1已经把公式推导了出来。(图1)其中1式与2式的推导过程,上图可能有点没解释明白,这里勇哥详细推导一下:x1=L*cos(a+b) x1=L*(cos(a)cos(b)-sin(a)sin(b)) x1=L*((x0/L)*cos(b)-...

三角函数在图形学里的应用(一) 点绕原点旋转

之前勇哥写了《三角函数超入门》系列的贴子。接下来继续写三角函数在图形学方面的应用。点绕原点旋转如图1,线长OP=OP'=r,点(x,y)以圆点O为旋转中心,逆时针转了b°,求P'(s,t)?解: s= r*cos(a+b) t= r*sin(a+b) x=r*cos(a) y=r*sin(a)(图1)勇哥画了个CAD的图,用来验证一下上面...

视觉检测之焊点检测(八):固定ROI焊点检测的方法

这种方式比较简单,条件是你的焊点位置比较固定。这时候我们可以按焊点数量做几个固定的ROI区域,在reduce_domain。剩下的不用说大家也知道怎么玩了。如果有深度学习就好了,否则也不会出此下策,这实在不是什么好办法。此种方式让勇哥联想到当年用printf(" * ")打印金字塔图形的那种办法。为什么焊点会出现色阶分布不均匀的效果呢?这是因为打焊点的时候,由于两个...

工业线阵相机与面阵相机特点分析

最近在公司实习,实习中的项目是使用的是微视的一款线阵相机(Microview MVC1024DLM-GE35);所以把线阵、面阵相机的一些区别学习下:了解线阵相机与面阵相机的基本区别 工业相机按照传感器的结构特性可分为面阵相机和线阵相机,面阵、线阵相机都有各自的优点和缺点,在用途不同的情况下选择合适的传感器的结构工业相机,至关重要。1、类型区分面阵相机:实现的是像素矩阵拍摄。相机拍摄图像中,...

利用Aforge Net实现两张图的查找不同处、抠图、合成图

1.找出下面2张图的不同处//先加载2张图像到内存中 var background = new Bitmap( "left.bmp"); backgroundImg.Source = ToBitmapImage(background); var original = new Bitmap( "right.bmp");...

vidi深度学习图像处理软件介绍

VIDI 提供了第一款基于工业图像分析的深度学习软件。VIDI Suite基于最先进的机器学习算法,是一款优化可靠的可现场测试的软件解决方案。它可以完成检测与分类的编程中不可能完成的挑战。这为不少具有挑战性的机器视觉应用提供了一个强大、灵活的且明确的解决方案。VIDI Suite包含三种不同的工具:VIDI Blue用于在图像中查找和定位单个或者多个特征。ViDi Red用于检测任何类型的质量缺陷...

AForge.NET 入门

一、AForge.NET简介 AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。 这个框架由一系列的类库组成。主要包括有: AForge.Imaging —— 一些日常的图像处理和过滤器 AF...

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(...
会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 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