opencv 在工业中的应用:blob分析】的更多相关文章

在工业中经常要检测一副图像中物体的数量,位置,大小,面积等信息,这就要用到BLOB分析,我用OPENCV做了个BLOB分析的DEMO. (1)打开一幅图像 (2)进行参数设置,设定二值化阙值,并选择是否观察二值化结果 (3)设置完成后点击BLOB分析按钮,即可得到各个BLOB的面积,周长,重心,高度,宽度,角度等信息 附图如下:…
在工业中经常要检测一个零件的尺寸,但是图像处理得到的是像素值,怎么才能得到实际的毫米值呢?这就要用到二维标定,我用OPENCV写了一个利用标定板进行标定的DEMO. 很多商业软件都没有二维标定的功能,只有三维标定,因此本DEMO还是很有用武之地的. 附图如下:…
模板匹配在工业中经常有两个用途,一模板匹配进行产品定位,二根据匹配度来判断是OK的产品还是NG的产品.我用OPENCV做了个模板匹配定位的DEMO. (1)点击打开图像按钮打开一幅图像 (2)点击定义模板就行拖动橡皮条进行模板设置 (3)模板定义好后就可以再打开其他图像进行模板匹配定位了 附图如下:…
在工业中产品或者夹具上经常有圆形孔,我们可以利用这些孔来对产品或者夹具进行定位.我用OPENCV写了个DEMO 程序,介绍如下: (1)首先点击打开图像按钮打开一幅图像 (2)进行一些参数设置 (3)点击找圆按钮,这时就会显示出找到的圆孔的圆心坐标等信息. 附图如下: 像上图这样比较模糊的图像通过设置参数也可以准确找到圆心.…
http://blog.sina.com.cn/s/blog_67cc4eb70100ivnt.html Blob分析:Blob分析目的在于对图像中的2-D形状进行检测和分析,得到诸如目标位置.形状.方向和目标间的拓扑关系(即包含关系)等信息.根据这些信息可对目标进行识别.在某些应用中我们不仅需要利用2D的形状特征,还要利用Blob分析之间的特征关系. Blob分析的主要内容包括:(1)图像分割:将图像中的目标和背景分离.(2)去噪:消除或减弱噪声对目标的干扰:(3)场景描述:对目标之间的拓扑关…
文章转自微信公众号:机器视觉那些事 *******************************************************************公众号:机器视觉那些事儿********** * 1. 算法功能:Blob分析--粘连颗粒检测* 2. 算法思路:* (1)简单的阈值分割:* (2)计算连通域connection:* (3)基于距离变换的分水岭区域分割,使用算子distance_tansform,watersheds* (4)盆地与原连通域求交集,分离粘连颗粒…
这两个函数返回的是指向原矩阵内部位置的指针,类似于浅拷贝: code cv::Mat align_mean(cv::Mat mean, cv::Rect facebox, float scaling_x=1.0f, float scaling_y=1.0f, float translation_x=0.0f, float translation_y=0.0f) { using cv::Mat; // Initial estimate x_0: Center the mean face at th…
1. 数组操作 2. 可视化-更新窗口 (1)单步模式-总是:则可以自动显示图像: (2)单步模式-从不:需要调用显示函数才能显示图像. (3)单步模式-清空显示:将原图清除,再显示新图 3. 图像处理基本操作 (1)读取图像 a. Ctrl+R b. 直接调用read_image *读取两幅图 read_image(Images,['D://0.jpg','D://1.BMP']) c. 助手-打开新的Image acquisition 选择文件:打开单个图像 选择路径:可以将路径中所有图像全…
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 对代码进行性能分析,之前往往是一种独立的Profiling过程,现在在VS 2015中可以结合到调试过程中. Charles Willis和Dan Taylor在MSDN上发表了的一篇文章<Analyze Performance While Debugging in Visual Studio 2015>,给大家介绍了如何在VS 2015中边调试边分析性能的方法(或者说是一个操作指南).…
u-boot中nandflash初始化流程分析(转) 原文地址http://zhuairlunjj.blog.163.com/blog/static/80050945201092011249136/   下面对nand flash的初始化代码nand_init()进行分析: 1.如果定义(CONFIG_COMMANDS & CFG_CMD_NAND)没定义(CFG_NAND_LEGACY) 则start_armboot()调用driver/nand/nand.c中的nand_init(),否则如…