摘要: 基于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 阅读(156) 评论(0) 编辑
摘要: 前一段时间,我一直在制作OpenCV基础知识的课件,因为一方面我感觉现有教程需要一个系统核心;另一方面我也反省自己对基础知识是否掌握牢靠了,千万不能误人子弟。那么课件的制作,包括内容的顺序,主要还是基于《learningOpenCV3》的。结合制作课件,我对《learningOpenCV3》书后的习题较为仔细的解决,并且push到了Github上https://github.com/oreillymedia/Learning-OpenCV-3_examples。有push当然也就有commit了,可喜的是这个commit是由Opencv类库的创始者,也是《learningOpenCV3》这本书的作者Gary操作的。一来二去混熟了,我就问Gary这书怎么还没中文版呀?他说开始搞了呀。我就说我能不能加入呀?他说行。要了我的email,接着联系上了清华出版社,也看到了部分初稿。由于书已经翻译的差不多了,我就作为reviewer加入,主要是看一看语法和程序方面的错误。review的过程,实际上还是一个重复学习的过程,很多在以前学习过程中一笔带过,或者看不懂就拉倒的地方,现在就必须认真仔细地来看阅读全文
posted @ 2017-08-14 21:39 jsxyhelu 阅读(1217) 评论(6) 编辑
摘要: 编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择;在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的。 基于现有资料,通过在实际项目中的积累,我总结出来一套结合opencv和mfc的摄像头采集框架。具有以下特点: 1、基于directshow,兼容性好,速度快。到目前为止,无论是工业相机还是普通相机,没发现不兼容的; 2、摄像头部分通过线程读取,保证界面的运行流畅; 3、框架经过多次打磨,已经比较稳定,不会出现异常错误;代码简洁明了,方便复用。阅读全文
posted @ 2016-10-05 07:45 jsxyhelu 阅读(4337) 评论(0) 编辑
摘要: 这是一个典型的“机器视觉”应用。其中,答题卡的样式可以是由自己来设置的,图片的获取方式提到了可以是“手机拍照、相机拍照”这种比较方便的方式;本例的一个特殊的要求是:你可以识别不出来,但是你不能识别错误,这是项目的特殊要求。这里是我的思考和实现。阅读全文
posted @ 2015-01-18 14:07 jsxyhelu 阅读(11551) 评论(21) 编辑
摘要: 在C#中使用OpenCV(使用OpenCVSharp) 1、什么是OpenCVSharp 为了解决在Csharp下编写OpenCV程序的问题,我做过比较深入的研究,并且实现了高效可用的方法(GOCW);这几天在搜集资料的时候,偶尔看见了OpenCVSharp,从时间上来看,它已经经过了更久的发展,应该有许多...阅读全文
posted @ 2018-09-18 16:16 jsxyhelu 阅读(39) 评论(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 阅读(51) 评论(0) 编辑
摘要: GOCW的重点和难点就在于Csharp调用OpenCV,其中的桥梁就是CLR,当然我们也有其他方法,但是CLR是一个比较新的、比较可靠的、关键是能用的桥梁。这里关于CLR的基本原理知识、如何用于GOCW项目的相关内容加以整理思考,以图深入:一、什么是CLR;1、什么是CLRCLR(Common Language Runtime)是“公共语言运行时”的缩写,简单来说它是和Java虚拟机一样的一个运行...阅读全文
posted @ 2018-09-03 16:14 jsxyhelu 阅读(6) 评论(0) 编辑
摘要: 如果只是使用Clone不能称得上是完全使用了GitHub,必须完成PullRequest,而且最好是对大型、带自动构建项目进行PR(比如OpenCV),这样才叫完全掌握GitHub的使用方法,这里分享一些经验,针对的就是OpenCV,也包括本地使用的一些技巧。1、工具的选择windows平台上,两类工具:应该都能够完成任务,各有优点。考虑到网络问题,我目前采用前者处理本地程序,相对来说使用简单、需...阅读全文
posted @ 2018-09-01 10:12 jsxyhelu 阅读(18) 评论(0) 编辑
摘要: 1、OpenCV to detect how missing tooth in equipment Hello everyone. I am just starting with OpenCV and still a bit lost. Is OpenCV helpful to detect the position of a missing object (tooth for exam...阅读全文
posted @ 2018-09-01 08:57 jsxyhelu 阅读(45) 评论(0) 编辑
摘要: 直接使用提供的代码框架进行修改,是最快得到效果的方法;但是这样的灵活性较差,而且真正的程序员从来都不会停滞在这一步:我们需要的是“将框架解析到最小化、理清楚每个构建之间的关系”,只有这样才能灵活运用。一、准备工作1、高拍仪已经接通,如果需要的话,还要安装驱动;2、vs2012编程环境,能够编写Csharp和OpenCV程序(具体不清楚可以回过头来看配置);3、是DirectShow.net(htt...阅读全文
posted @ 2018-08-31 19:30 jsxyhelu 阅读(37) 评论(0) 编辑
摘要: ​ 我记得曾经有人对OpenCV的旋转吐槽,意思是它自己没有很好的关于选择的算法。在新的版本里面添加了这些函数(我还没有时间去看是什么时候pr的)。现在一个比较棘手的问题,就是OpenCV中旋转是如何定量的,什么是正方向?什么是负方向?什么时候用角度?什么时候用弧度?下面就是针对这几个问题,通过查资料、做实验的方式搞清楚。一、OpenCV中旋转式如何定量的也就是坐标系问题。OpenCV坐标系...阅读全文
posted @ 2018-08-30 14:23 jsxyhelu 阅读(56) 评论(0) 编辑
摘要: 基于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 阅读(156) 评论(0) 编辑
摘要: //Exercises at end of Chapter 5,《learning OpenCV3》#include "stdafx.h"#include #include using namespace cv;using namespace std;void help(const char **argv) { cout \n\n" << "For example: " << ...阅读全文
posted @ 2018-08-06 11:35 jsxyhelu 阅读(42) 评论(0) 编辑
摘要: 现在《学习OpenCV3》的书基本出来了,也要开始重新做题了 《学习OpenCV3》第14章第1-11题阅读全文
posted @ 2018-07-24 18:51 jsxyhelu 阅读(100) 评论(0) 编辑