openCV Archive

SIFT/SURF/FlannBasedMatcher在某生产线视觉系统中的应用

曾经UPWORK上看到过某生产线某环节的应用需求: 1. 在挂钩生产线某一个环节中,需要将一个金属徽章正确的贴在一个空白的挂钩上。 2. 传送带将金属徽章移入工作区。 工作区将是由玻璃制成,玻璃下方有一个朝上的摄像头,用于捕获进入工作区的徽章图像, 徽章进入工作区的位置与方向均随机。 3. 视觉系统根据摄像头捕获的图像,在现有的资料库中查找产品编号,并计算出徽章的中心点坐标及其相对旋转角度。 4. 视觉系统将徽章的中心点坐标和旋转角度发送给机器人,机器人将空白的挂钩盖移动到正确的角度和位置,并将徽章和挂钩连接在一起。 5. 视觉系统将产品编号发送给系统,系统打印好当前产品的条形码标签。组装好的挂钩盖离开机器人单元后,操作员将标签贴在成品上。 6. 视觉系统查找单张图像产品编码以及计算徽章中心点坐标和旋转角度的时间应该在1s以内。 7. 该视觉系统可随时扩充现有资料库,便于后续添加更多的徽章设计图像。

将opencv Mat格式的图像数据写入excel表格

在学习opencv的过程中,我经常想了解当前图像某个区域的具体像素值及其分布规律。如果将数据打印在控制台中,会觉得眼花缭乱,很难找到想关注的内容。但如果可以将其输出到excel表格中,查看起来就会方便很多,辅以简单的VB程序,还可以让不同的数据显示不同的颜色,数据查看会更加直观。本文记录将Mat图像写入excel表格和为excel表格数值赋颜色的方法,把我认为好用的工具推荐给大家。

connectedComponentsWithStats在汉字定位中的应用

opencv3.0及以上版本中有一个名为connectedComponentsWithStats的函数,该函数不仅可以得到输入图像的连通域的标记图,还可以返回图像中每一个连通域外接矩形的左上角坐标,宽和高,以及连通域包含的像素总数,连通域的质心等等重要属性。在《基于笔画宽度转换(SWT)和连通域的汉字检测方法》一文中提到使用connectedComponentsWithStats结合SWT来定位复杂背景中的汉字,本文将在该文章的基础上详述connectedComponentsWithStats在汉字定位中的应用。

基于笔画宽度转换(SWT)和连通域的汉字检测方法

在upwork上看到一个有意思的项目,该项目要求处理一组图片,该组图片分为两部分,A区有一部分区域包含3~5个汉字,白底黑字,其他没有字的部分为黑色背景;B区背景色彩斑斓,前景随机分布着A区的汉字。处理要求是依据A区汉字的顺序分别找到其在B区的位置,并识别A区的汉字。

基于笔画宽度转换的文字检测(SWT)方法

基于笔画宽度转换的文字检测(SWT)​方法较普遍的用于自然场景的文字检测。本文主要介绍Github上一个基于opencv2.4+Boost实现的基于笔画宽度转换的文字检测(SWT)​项目,包括其检测效果演示和在windows上的编译方法。

通过CLR在VC#项目中调用Opencv C++代码

在VC#项目中调用Opencv c++代码应该是一个比较常见的需求。C#有丰富的UI,而VC++ opencv则几乎没有UI。C#中虽然可以支持Emgucv,但是与原生态的opencv相比,我更愿意选择opencv。Use OpenCV C++ codes in a VC# project — solution of creating a managed CLR wrapper一文中讲到了在VC#项目中调用Opencv C++代码的方法,本文记录我验证此文的过程,翻译原文为主,有部分改动,感谢原作者。

VS2013_CMake_opencv3.1动态库与静态库的配置与编译

通常我们的OpenCV项目在学习或研究阶段,使用动态库足矣,当OpenCV程序需要发布时,尤其是程序需要拷到没有OpenCV环境的机器上运行时,静态库文件就会比较便捷。本文记录OpenCV3.1源码编译动静态库的方法和注意事项。

HOG + Linear SVM detector实现目标物体检测

HOG + Linear SVM detector给我们的第一印象是用于行人检测,但事实上它们可用于任意目标物体的检测。今天我要跟大家分享的是用HOG + Linear SVM detector来检测传送带中的轮胎,并用LBP+SVM对轮胎进行分类。

Tesseract3.04 和opencv3.1在条形码识别中的应用

商品条码是由一组按一定规则排列的条、空及对应字符(阿拉伯数字)所组成。条码用于识读设备的扫描识读;对应字符由一组阿拉伯数字组成,供人们直接识读或手动输入数据。这一组条、空和相应的字符所表示的信息是相同的。本文提及的条形码识别程序BarcodeOCR用于识别条形码中阿拉伯数字。

sift & surf & bag-of-words 在目标识别中的应用详解

SIFT和SURF的每一个特征点的描述符维度固定,但不同图像获取的特征点数量不一致,从而导致不同图像的特征维度不一致。而 SVM模型训练时,要求每个样本的特征维度相同。如何实现用SIFT和SURF特征点来训练SVM模型呢?这是我在opencv3.1 SVM sample_HOG特征在车牌判断中的应用 一文中挖的坑,本文为填此坑而生,欢迎围观和指教。
Fork me on GitHub