摘要: 基于OpenCV编写图像处理项目,除了算法以外,比较重要一个问题就是界面设计问题。对于c++语系的程序员来说,一般来说有QT/MFC两种考虑。QT的确功能强大,特别是QML编写android界面很有一套(https://www.cnblogs.com/jsxyhelu/p/8286476.html),在树莓派上进行设计也很方便(https://www.cnblogs.com/jsxyhelu/p/7839062.html);但是使用QT的一个现实问题就是和现有平台的结合,比如客户需要将结果导出到excel中,使用QT就比较别扭(当然不是说不可以)。所以现在我一般这样来做:对于Android和PI,或者需要在Linux上运行的项目,使用QT编写界面,调用Opencv函数;对于需要在windows上运行的项目,使用MFC编写界面,直接就可以引用Open阅读全文
posted @ 2018-08-21 07:13 jsxyhelu 阅读(370) 评论(0) 编辑
摘要: Windows环境下最新OpenCV和Contribute代码的联合编译,解决这个问题,目的在于获得并使用最新的完全版本的代码,主要方法是对CMake能够熟练使用,并且对编译等基础支持有所了解。阅读全文
posted @ 2017-09-13 06:50 jsxyhelu 阅读(702) 评论(2) 编辑
摘要: 编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择;在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的。 基于现有资料,通过在实际项目中的积累,我总结出来一套结合opencv和mfc的摄像头采集框架。具有以下特点: 1、基于directshow,兼容性好,速度快。到目前为止,无论是工业相机还是普通相机,没发现不兼容的; 2、摄像头部分通过线程读取,保证界面的运行流畅; 3、框架经过多次打磨,已经比较稳定,不会出现异常错误;代码简洁明了,方便复用。阅读全文
posted @ 2016-10-05 07:45 jsxyhelu 阅读(4623) 评论(0) 编辑
摘要: 这是一个典型的“机器视觉”应用。其中,答题卡的样式可以是由自己来设置的,图片的获取方式提到了可以是“手机拍照、相机拍照”这种比较方便的方式;本例的一个特殊的要求是:你可以识别不出来,但是你不能识别错误,这是项目的特殊要求。这里是我的思考和实现。阅读全文
posted @ 2015-01-18 14:07 jsxyhelu 阅读(12924) 评论(21) 编辑
摘要: 由于GPY进行了纠偏,所以在采集的时候,就已经获得了质量较高的答题卡图片,下一步就是需要从这张图片中,识别出人眼识别出来的那些信息,并且将这个过程尽可能地鲁棒化,提高识别的准确率。阅读全文
posted @ 2018-10-15 14:53 jsxyhelu 阅读(250) 评论(0) 编辑
摘要: 该博客转自www.pyimagesearch.com,进行了相关修改补充。Over the past few months I’ve gotten quite the number of requests landing in my inbox to build a bubble sheet/Scantron-like【简而言之答题卡】 test reader using computer vis...阅读全文
posted @ 2018-10-15 14:51 jsxyhelu 阅读(79) 评论(0) 编辑
摘要: 理解mulitband。所谓的mulitband,其实就是一种多尺度的样条融合,其实现的主要方法就是laplace金字塔。高斯金字塔是向下采样,而laplace金字塔式向上采样(也就是恢复),采用的都是差值的方法。如何能够在金字塔各个层次上面进行图像的融合,结果证明是相当不错的。网络上面流传的一个类解释了这个问题,并且能够拿来用:#include "stdafx.h"#include #inclu...阅读全文
posted @ 2018-10-09 15:39 jsxyhelu 阅读(30) 评论(0) 编辑
摘要: 一个来自"answerOpenCV"(http://answers.opencv.org/question/200422/opencv-c-filling-holes/),解决算法中除了经典的“hsv分解->ostu阈值->最大轮廓标注”外,最为关键的算法为顶帽去光差。这个算法来自于冈萨雷斯《数字图像处理教程》形态学篇章,完全按照书本建议实现,体现良好作用。阅读全文
posted @ 2018-10-09 10:00 jsxyhelu 阅读(307) 评论(0) 编辑
摘要: 【VNC】修改VNC分辨率大小 VNC的分辨率过小有可能导致图形化界面操作过程中遇到“确认键或取消键”无法点击,分辨率过高又可能导致低分辨率客户端显示器无法显示。本文给出两种调整VNC分辨率的方法,供参考。1.第一种方法:使用geom...阅读全文
posted @ 2018-10-08 16:41 jsxyhelu 阅读(42) 评论(0) 编辑
摘要: 外国不过十一,所以利用十一假期,看看他们都在干什么。一、小白问题http://answers.opencv.org/question/199987/contour-single-blob-with-multiple-object/ Contour Single blob with multiple object Hi to everyone. I'm developing an obje...阅读全文
posted @ 2018-10-08 09:40 jsxyhelu 阅读(78) 评论(0) 编辑
摘要: 本文解决一个图像处理的具体问题“利用PCA求出了特征向量之后,如何求解该直线与轮廓的交点” 基本思路为: 1、首先要界定范围。对于交点来说,肯定是在这个轮廓的“最小外接矩形”中的,所以先求出外接矩形作为限定; 2、向量只是一个方向,要将其变成一条直线(如果在“最小外接矩形”中就是线段),推荐使用LineIterator来表示直线; 3、最后,判断这条线段上的点是否在轮廓上,可以使用pointpolytest函数。阅读全文
posted @ 2018-10-05 19:28 jsxyhelu 阅读(211) 评论(0) 编辑
摘要: openCV函数pointPolygonTest():C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)用于判断一个点是否在轮廓中 当measureDist设置为true时,若返回值为正,表示点在轮廓内部,返回值为负,表示在轮廓外部,返回值为0,表示在轮廓上。 当measureDist设置为f...阅读全文
posted @ 2018-10-04 05:38 jsxyhelu 阅读(78) 评论(0) 编辑
摘要: 在C#中使用OpenCV(使用OpenCVSharp) 1、什么是OpenCVSharp 为了解决在Csharp下编写OpenCV程序的问题,我做过比较深入的研究,并且实现了高效可用的方法(GOCW);这几天在搜集资料的时候,偶尔看见了OpenCVSharp,从时间上来看,它已经经过了更久的发展,应该有许多...阅读全文
posted @ 2018-09-18 16:16 jsxyhelu 阅读(884) 评论(0) 编辑
摘要: 2018-09-12,第一次对OpenCV PR成功https://github.com/opencv/opencv/pull/12206 《find innercircle of contour by using pointPolygonTest》 总的来说,参加PR绝对是一件消耗时间精力(特别对阅读全文
posted @ 2018-09-13 07:27 jsxyhelu 阅读(122) 评论(0) 编辑