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

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

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

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

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

[置顶]本站收费服务公告(贴子源码,netMarketing源码,视觉框架源码,编写指定功能教程,自动化设备软件开发等)

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

九点自动标定---如何让相机视野中心十字对准目标物?

我们知道图像坐标和机械坐标是相互独立的,需要通过移动9个点(常说的9点标定)的方式建立二者的关系,从而达到通过像素点的坐标关系得到机械坐标。相机的视野中心对准目标物中心这会延申到吸嘴是否准确的抓取到目标,如何达到这一操作见下(假设已经通过9点标定建立关系后,准确说方法1根本就没用到9点标定的关系式,它也不需要进行9点标定)方法1:如下图所示:假设大黑框里面的内容代表相机视野里的东西,绿色十字是视野...

手眼标定原理实战

本篇文章已加密,请输入密码后查看。...

几何变换详解

在三维图形学中,几何变换大致分为三种,平移变换(Translation),缩放变换(Scaling),旋转变换(Rotation)。以下讨论皆针对DirectX,所以使用左手坐标系。平移变换将三维空间中的一个点[x, y, z, 1]移动到另外一个点[x', y', z', 1],三个坐标轴的移动分量分别为dx=Tx, dy=Ty, dz=Tz, 即x' = x +...

3D数学基础之C#实现矩阵变换

Never put off what you can do today until tomorrow.从刚开始学unity各种组件,C#基础,API,到现在的学习Cg语言,学习shaderLab用了很长时间在细节上,有的时候一些看似非常基础的概念,大致了解下怎么用后,如果不知道其原理,那么,我认为是不可能真正的学会一种技术的。本节就来实现矩阵与向量之间的计算,,我们将自己实现向量的类和矩阵的类,这...

二维图形的矩阵变换(一)——基本概念

基本的二维变换可包括旋转、缩放、扭曲,和平移四种,而这些几何运算则可以转换为一些基本的矩阵运算:这几个变换都是线性的,但平移运算不是线性的,不能通过2*2矩阵运算完成。若要将点 (2, 1)在 x 方向将其平移 3 个单位,在 y 方向将其平移 4 个单位。 可通过先使用矩阵乘法再使用矩阵加法来完成此操作。综合这几种基本运算,数学家们将其统一为一个3*3矩阵,存储形式如下:由于表示仿射变换的矩阵的...

多路时序触发光源的应用(多光源分时序拍同一个对象最后合成图片)

一、引言在机器视觉的领域里,总会遇见一些获取适合成像比较难的项目,如:图像对比度不够、有反光干扰、有背景干扰等。这些项目通常需要消耗工程师大量的时间去反复评估项目或者调试设备。现在,CST推出最新多路时序触发光源,配合相应的图像处理算法可以完美地解决以上问题。二、多路时序触发光源工作原理多路时序触发光源控制器最多支持多达8路光源的开关及亮度控制。当接收到外部触发信号后,光源可以根据用户的设定依次点...

转几篇知乎上一位研究视觉方面博士的一些经验贴子

偶然看到知乎上一位研究机器视觉博士的贴子,都是些经验之谈,蛮好看的。就转过来,大家一起经验一下吧。opencv怎么学作者:wqiasky链接:https://zhuanlan.zhihu.com/p/37823735来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。学习图像处理,掌握一种工具非常重要,这工具是指图像处理库函数。虽然有不少图像函数库,比如halcon、vi...

用autocad来验证标定原理(1)

勇哥曾经很向往有一台机器人,好在家里搞些视觉实验。可惜这东西值一台四轮车的钱,估计真买了的话,会被老婆按在地上摩擦。其实仔细想想,视觉对位的应用,难点在于标定、还有标定后的对位过程,而不在于怎么找线找点(当然有些时候这个也是难点,但是跟物料关系密切,也就是变成了解决工艺上的问题,不存在原理都不懂的的懵逼)标定的过程主要难点在机器人吸盘的中心和法兰盘的中心不共心,还有些应用中涉及到多相机协调,如果B...

基于海康机器视觉算法平台的对位贴合项目个人理解

都说“纸上得来终觉浅,绝知此事要躬行”,可惜咱没这条件呀,没项目咱也不能干坐着呀,那咱发挥主观能动性,咱不是学机械的么,还好还记得一点CAD的知识,今天小杨说事,咱就“纸上谈兵”,用CAD结合公司的视觉算法平台VisionMaster来说说相机映射和对位贴合的事,如果有错误的地方,还请各位自动化前辈多多指教,毕竟网上的关于这个知识太少了。实际的生产过程中,我们常常会碰到这样的情况,机械手从工位一吸...

FW中的流程变量怎么定义数据类型为自定义数据类型的范型数组呢

突然想使用一个自定义数据类型的数组做变量,怎么做呢?勇哥研研究了一下,原来FW已经给我们设置好了。你搜索到范型,然后下图第二个划线处就可以选择你自己的自定义类型了!上面示例是List<T>,那么数组类型呢?选择下图所示的Arrary of [T]--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上...

凌云视觉学习教程:几何变换和blob工具的综合练习

勇哥想做到下面的效果:几何定位后其坐标给blob的roi做参考,实现物料无论怎么移动旋转,blob的roi都维持相对位置不变的效果。这个也就是halcon的仿射变换常见的应用。先把程序丢上来:(一)几何定位的设置主要设置了掩膜,搜索区域(1个),找到一个固定的特征点。下图是找到的固定特征点。(二)blob工具主要设置ROI区域为仿射矩roi, 这个是关键地方,否则得不到roi跟随几何变换的效果。然...

halcon学习-相机标定与图像径向或透视畸变的校正

1.初始化相机并设置相机内部参数和相机类型,确定校准目标。gen_cam_par_area_scan_divisioncreate_calib_dataset_calib_data_cam_paramset_calib_data_calib_object2.校正相机find_calib_objectget_calib_data(CalibDataID, ‘camera’, 0, ‘init_par...

halcon相机标定和图像矫正

对于相机采集的图片,会由于相机本身和透镜的影响产生形变,通常需要对相机进行标定,获取相机的内参或内外参,然后矫正其畸变。相机畸变主要分为径向畸变和切向畸变,其中径向畸变是由透镜造成的,切向畸变是由成像仪与相机透镜的不平行造成的。针孔模型是理想透镜的成像模型,但是实际中相机的透镜不可能是理想的模型,透镜形状的非理想特征造成像点会沿径向发生畸变。一个像点沿径向内缩叫负畸变,或桶形畸变沿径向外延叫正畸变...

凌云视觉学习教程:几何定位工具

几何定位工具就是halcon中的模板匹配.作用就是求出模板特征的x,y, 角度, 以供后面的工具确定相对位置. 这样对于物料位置角度的改变, 程序就可以适应.可以说, 凌云的软件中的众多工具中, 几何定位是灵魂工具之一.第一次执行时,几何定位工具会报“工具未训练”这时可以使用右键菜单属性弹出几何定位工具的训练面板。注意:在凌云中,只有特别的功能指令才有这个“属性”面板,大部分功能指令仅有“数据链编...

凌云视觉学习教程:Blog工具

先上测试代码:文件取“标定.bmp”, 文件取“BLOB.bmp”。左边的分先不运行,从右边的分支运行起。改变分支的运行路径,只需要双击它的引出线,设置为true或者false。或者设置关联的变量的值。 工具块选中后,可以调节它的参数,如果想看到调节后的效果,点击“运行选中”就可以了。这个勇哥没接CCD,只能先运行分支。可以输入三个RGB或者灰色的图像或者深度图像,根据索引值输出一个图像。这个例...

凌云视觉学习教程:Blog轮廓分析工具

Blog轮廓分析工具先上段测试代码:其中,图像文件用演示图片Blob工具选中的部分如下:单次运行后,我们来看看Blog轮廓分析工具的属性和效果。工具的数据链如下:两个都是输入参数。这个工具比较简单,勇哥记得halcon有一个对应功能的算子ShapeTrans,功能是差不多的。--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原...

Visionpro系列教程(五)卡尺测量长度的例子

选择图片。用两个卡尺寸,分别取底边与顶边。然后用点到点的距离工具取距离,求出来没有标定之前是像素。卡尺寸的参数。卡尺的选择框,实心的箭头代表搜索方向。由于程序中使用顶边与底边的起始点计算距离,因此要把起始点位置设置为一样,非则结果不对。修改一下,让两者的x值一样。这样改好后,结果是752.679,和上面的错误结果是不同的。都说visionPro的卡尺很牛,勇哥暂时没感觉它牛在哪里?首先,参数极少,...

图像形态学之膨胀算子

膨胀运算在数字形态中的作用是把图像周围的背景点合并到物体中。如果两个物体之间距离比较近,那么膨胀运算可能会使这两个物体连接在一起。膨胀对填补图像分割后物体中的空洞很有用。dilation1(Region, StructElement:RegionDilation:Iterations:)功能: 使用用户自定义的结构元素对区域进行膨胀。结果元素是一个区域region,可由这些算子区域产生:gen_c...

halcon学习-膨胀和腐蚀

一个字节表示一个像素是灰度图像,三个字节表示一个像素是RGB图像,一个字节8位位深度为8,三个字节位深度为24位。膨胀、腐蚀、开运算、闭运算针对二值图像(二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素不是0就是1,再无其他过渡的灰度值),腐蚀是减少像素,膨胀是增加像素。开运算:先腐蚀后膨胀(也减少像素),可以将两个物体分开,可以消除离散点和"毛刺",。闭运算...

Halcon入门之腐蚀膨胀

基本手法如下:1、采集图像2、预处理3、分割4、识别显示1、采集图像read_image (Image, ‘D:/**‘)get_image_size (Image, Width, Height)dev_open_window(0, 0, Width, Height, ‘black’, WindowHandle)2、预处理decompose3 (Image, Red, Green, Blue)tr...

Halcon案例之BLOB分析

图像处理(image processing)用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。Blob分析(Blob Analysis)在计算机视觉中的Blob是指图像中的具有相似...

OPT的智能相机配套的SCISmart(赛视)视觉软件包的试用经验

OPT的智能相机配套的SCISmart(赛视)视觉软件包的试用经验。勇哥用官方给的一个示例测试了一下。要求如下:测量a, b两个间隙,判断是否在一个范围内,如果OK 显示 a和b的间隙值。如果NG,则显示工件的长宽,并输出到csv文件中,做为ng原因的分析用。勇哥编制的流程如下:下面详细说说每个流程块完成的功能:commtcp,ip算子的设置如下:数据页设置为:格式页不设定任何参数。逻辑运算设置如...

OpenCV畸变校正原理以及损失有效像素原理分析

上一篇博客简要介绍了一下常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D。1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2; p1; p2[; k3[; k4; k5; k6]] ,其中最常用的是前面四个,k1,k2为径向畸变系数,p1,p2为切向畸变系数。2.在fisheye模型中,畸变系数主要有下面几个(k1,k2,k3,k4). 因为cv和fisheye的...

张正友标定法示例 (含源代码)

博主在博客园的第一篇博客,以著名的张大牛标定法开始吧!具体标定原理就不详细说了,资料数不胜数,重点看张正友的原著《A Flexible New Technique for Camera Calibration》,搞明白这篇文章就足够了。好了,现在主要说一下标定过程,并附上博主自己调用Opencv接口编写的代码。1.拍摄棋盘格图片,8幅左右合适,文献里说n=8时,最小二乘法计算内参有稳定解。所以我就...

opencv3.1学习笔记(27) 模板匹配

模板匹配是机器视觉里面最重要的内容之一,如果没有它,像一些定位的案子就没办法开展了。这个是需要重点研究的话题。演示代码:完全引用下贾志刚老师的代码。从效果上来看,完全没有办法和halcon的模板匹配进行比较,这个真是让人沮丧的结果。难怪群里有些朋友说,OpenCV的模板匹配想要实用,需要自己写算法。#include <opencv2/opencv.hpp> #include <...

opencv3.1学习笔记(26) 直方图反相投影

演示代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace std; using namespace cv; Mat src; Mat hsv; Mat hue; int bins = 12; void Hist_And_B...

opencv3.1学习笔记(25) 直方图比较,判断图片相似度

演示代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace std; using namespace cv; string convertToString(double d); int main(int argc, char*...

opencv3.1学习笔记(24) 直方图计算并显示

演示代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; using namespace std; int main(int argc, char** argv) { Mat src, dst; src = imr...

opencv3.1学习笔记(23) 直方图均衡化

这一课讲了两个直方图有关的理论,重点在理论知识。即:什么是直方图、直方图均衡化。勇哥很欣赏贾志刚老师的讲课,理论与实践结合,许多理论都丰富了勇哥对halcon算子的认识。在之前,学习halcon主要精力都是在学习算子怎么用,从来没可能了解它的基础理论,现在贾志刚老师这套opencv的教程则可以反哺halcon的基础理论。演示程序:#include <opencv2/opencv.hpp>...

opencv3.1学习笔记(22) 像素重映射

演示代码:#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; using namespace std; int index = 0; Mat src, dst,mapx,mapy; void updateMap(void)...
«   2020年12月   »
123456
78910111213
14151617181920
21222324252627
28293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
标签列表
搜索
最新留言
最近发表
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:

Powered By Z-BlogPHP 1.6.0 Valyria

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864