摘要: 前一段时间,我一直在制作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 阅读(453) 评论(5) 编辑
摘要: Csharp如何调用基于Opencv编写的类库文件(Dll)是一个广泛讨论的问题。 经过长时间探索后,我终于进行了很好的实现。源代码公开,并且包括一个实际调用的例子: 希望你能够在这里找到自己想要的东西!阅读全文
posted @ 2017-04-04 20:25 jsxyhelu 阅读(893) 评论(3) 编辑
摘要: 编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择;在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的。 基于现有资料,通过在实际项目中的积累,我总结出来一套结合opencv和mfc的摄像头采集框架。具有以下特点: 1、基于directshow,兼容性好,速度快。到目前为止,无论是工业相机还是普通相机,没发现不兼容的; 2、摄像头部分通过线程读取,保证界面的运行流畅; 3、框架经过多次打磨,已经比较稳定,不会出现异常错误;代码简洁明了,方便复用。阅读全文
posted @ 2016-10-05 07:45 jsxyhelu 阅读(2465) 评论(0) 编辑
摘要: 这是一个典型的“机器视觉”应用。其中,答题卡的样式可以是由自己来设置的,图片的获取方式提到了可以是“手机拍照、相机拍照”这种比较方便的方式;本例的一个特殊的要求是:你可以识别不出来,但是你不能识别错误,这是项目的特殊要求。这里是我的思考和实现。阅读全文
posted @ 2015-01-18 14:07 jsxyhelu 阅读(6109) 评论(21) 编辑
摘要: 采用pca分析方法,获得图像的中点和主要方向。阅读全文
posted @ 2017-10-19 09:22 jsxyhelu 阅读(152) 评论(0) 编辑
摘要: 阅读全文
posted @ 2017-10-11 10:16 jsxyhelu 阅读(72) 评论(0) 编辑
摘要: multibandblend是目前图像融和方面比较好的方法。原始论文为《a multivesolution spline with application to image mosaics 》,可以用百度学术找到。原始论文中采用的方法是直接对带拼接的两个图片进行拉普拉斯金字塔分解,而后一半对一半进行融合。国人也有许多改进,比如“首先采用拉普拉斯分辨率金字塔结构,将输入的图像分解成一系...阅读全文
posted @ 2017-10-10 08:15 jsxyhelu 阅读(14) 评论(0) 编辑
摘要: 前面我们对sift算法的流程进行简要研究,那么在OpenCV中,sift是如何被调用的?又是如何被实现出来的了? 特别是到了3.0以后,OpenCV对特征点提取这个方面进行了系统重构,那么整个代码结构变成了什么模样?阅读全文
posted @ 2017-10-05 07:12 jsxyhelu 阅读(43) 评论(0) 编辑
摘要: SIFT(Scale-Invariant Feature Transform)是一种具有尺度不变性和光照不变性的特征描述子,也同时是一套特征提取的理论,首次由D. G. Lowe于2004年以《Distinctive Image Features from Scale-Invariant Keypoints[J]》发表于IJCV中。开源算法库OpenCV中进行了实现、扩展和使用。阅读全文
posted @ 2017-09-25 13:38 jsxyhelu 阅读(31) 评论(0) 编辑
摘要: 一、基础最初由Rosten和Drummond [Rosten06]提出的FAST(加速段测试的特征)特征检测算法是基于将点P与其包围圆内的点集的直接比较的思想。基本思想是,如果附近的几个点与P类似,那么P将成为一个很好的关键点。点P是FAST算法的关键点候选者。 影响P分类的点的圈由p周围的圆确定。 在这种情况下,该圆上有16个像素,这里编号为0-15。具体的算法在这里并没有说明。二、函数clas...阅读全文
posted @ 2017-09-15 13:27 jsxyhelu 阅读(45) 评论(0) 编辑
摘要: 当进行跟踪时或者其他类型的用到关键点及其描述符的分析时,通常需要做三件事情:第一个是根据一些关键点的定义搜索图像并查找该图像中的所有关键点;第二个是为发现的每个关键字创建一个描述符;第三个是通过将所找到的关键点的描述符与一些现有的描述符集进行比较,看看是否可以找到匹配项。 在跟踪应用程序中,最后一步涉及查找序列的一帧图像中的特征,并尝试将其与前一帧中的特征进行匹配。在目标检测应用程序...阅读全文
posted @ 2017-09-15 13:25 jsxyhelu 阅读(52) 评论(0) 编辑
摘要: Harris、Shi-Tomasi和亚像素角点都是角点,隶属于特征点这个大类(特征点可以分为边缘、角点、斑点).对角点的寻找是图像处理的基本工作。阅读全文
posted @ 2017-09-14 19:52 jsxyhelu 阅读(76) 评论(1) 编辑
摘要: 特征点、角点、关键点,这些概念虽然有细节上的不同,但是在我们这里统一称为“特征”点,也就是具有特征性质的点。在图像处理中,所谓“特征点”,主要指的就是“能够在其他含有相同场景或目标的相似图像中以一种相同的或至少非常相似的不变形式表示图像或目标”,听上去比较拗口,那么用比较直白的方法表述,就是对于“同一个物体或场景,从不同的角度采集多幅图片,如果相同的地方能够被识别出来是相同的。这些些具有‘尺度不变性的点或块’称为特征点”。阅读全文
posted @ 2017-09-14 12:47 jsxyhelu 阅读(32) 评论(0) 编辑
摘要: Windows环境下最新OpenCV和Contribute代码的联合编译,解决这个问题,目的在于获得并使用最新的完全版本的代码,主要方法是对CMake能够熟练使用,并且对编译等基础支持有所了解。阅读全文
posted @ 2017-09-13 06:50 jsxyhelu 阅读(80) 评论(2) 编辑