一路OPENCV的风景

首先这个是一篇学习生涯的总结文,偏技术向,写给自己,incidentally 看看自己这段时间干什么了,又怎么往前走,go elsewhere。

整天埋头看书给我最大的感受就是:然后呢,学习一种从来没听过的东西是一种什么样的体验。大多数估计就是这样子:从没听说过,到听说了,然后“奥”。

接下来就是更煎熬的事情,要有极大的耐心坚持。也是一个目的,就是——embody your principles in actions。 这是我的原则,喜欢多做少说。接下来开始总结了。。。

一、什么是opencv?

第一次听说,心里嘀咕,这到底是个什么玩意? 后来通过练手才知道,说白了就是个函数库。它是 C 函数、 C++ 类构成,很多通用算法是处理图像的。在了解这个过程当中深深体会到了C语言的重要性。。。因为不精通C写点代码真的很尴尬啊

然后就是安装这个软件,然后配置opencv相关的库文件,我的电脑给力,一遍通过。不然就没有后文了。。。

二、在VC或VS编程一定会使用的: 几大头文件。

cv.h

cxcore.h

highgui.h

cvaux.h

ml.h

而且每次编一个东西都要在工程-设置-连接里面添加库文件,做多了不觉得麻烦还有点意思。。。 真是什么心态。。。

三、一般可以开始上手了。跟着人家开始敲代码,一个一个的敲,敲了再想想。

先接触 的是怎么对图像的最基本的处理,一般要显示一张文件夹下的图片,肯定要调用opencv函数来实现,我总结的步骤就是:

1、cv结构体来定义一个指向图片的指针  IplImage* src

2、来加载  cvLoadImage

3、创建窗口cvNamedWindow

4、显示图片在窗口cvShowImage

5、为了图片让你正常看到cvWaitKey(0);

6、释放空间cvReleaseImage

7、释放窗口cvDestroyWindow

四、和图片打交道不知道他们不行啊

第一个就是RGB颜色空间,搞物理的都知道,可是我第一次知道,因为初中高中物理都是不及格。。。这就是涉及到了维数和通道的概念了,几维的,几通道了,现在好像还有点乱。。。

第二个就是HSV颜色空间,h表示颜色的相位角0-360;S表示颜色的饱和度,通俗点,S表示的是某种颜色的“纯度”, 取值越小,表示色彩越灰。V表示色彩的明亮程度,从0到1。V等于0也就是黑色,当V=1并且S=0时表示纯白色; 可以联系两张图一条对角线的那个问题,依然很混乱。。。

在这里还有一个笔记,cvGetReal2D函数不采用,考虑效率问题,大图像尤其不可以。操作的时候不用就是了。

五、开始大胆玩图了,划定感兴趣区域ROI,人脸、车牌等区域相信是最关注的地方,当然局限于老老实实的矩形框范围,并实现替换,这期间我还把曾小贤的脸换到了那个太阳的后裔的那个人脸上。。。也是够了,好玩有木有。。。

丧心病狂的还在后面,图像灰度直方图,二维每一个bin的范围变成了面:0<X<1,0<Y<1。直接分析图像显示三个通道的类似于图像的数据结构,后面可能会用到匹配什么的,反正离不开图了。

颜色空间转换啊,简直是分了合——HSV2BGR,合了分——BGR2HSV,问题是我分了以后在合起来把我的图片蓝色变成了紫红色,直到现在不知道是什么问题,我还在想蓝色离那个紫色在H上不是很近吗,是不是电脑处理带来的误差啊。

六、几个算法:对图像处理最基本的思路了,确实这一块儿玩的挺嗨的,腐蚀erode。膨胀dilate。细化算法。二值化提取轮廓算法。

轮廓匹配cvMatchShapes,这个涉及到概率论,三个矩:原始矩,中心距,HU矩。我觉得开始图像识别了,近了近了。

然后就真的进了一步,从一张图里面的多个形状块进行模板的匹配。这里面不得不说的是,使用比较呆板的按照一个矩形进行平移来匹配比较,所以先了解思路就好。 剩下的优秀算法后面吗,可以自己去找来直接用。

七、关于opencv的视频处理

也是相关的函数cvCreateFileCapture,

frame = cvQueryFrame(capture);

char c = cvWaitKey(33);

if(c==27) break; //ESC

这些我还也得注意下,虽然目前还不了解为什么是这个数字,知道功能就可以了。。。

然后学习视频控制进度控制条的最有意思了,我仿佛觉得自己很高大上,其实也就那样。依然是函数、函数、函数cvSetTrackbarPos  ,不过这一块逻辑思维要求很高,因为设置的变量太多,具体去研究代码吧。。。

还有一个小实验,很多图片转化成小视频的我感觉这个没意思,因为毕竟有专业处理的软件,再说这个很渣。。。处理起来为了方便还得把图片命名变得有顺序,方便搞一个数组处理,想想我重命名那些图片也是很累啊 。。。

八、听起来一脸懵逼的HAAR分类器训练

关于Haar分类器方法,包含了某某的算法。分类器在这就是对人脸和非人脸进行分类的算法,在machine learning领域,很多算法都是对事物进行分类、聚类的过程。ml提供了很多分类、聚类的算法。我现在只能浅入浅出 ,根据人家的总结加以梳理归纳。就记得有什么正样本、负样本了samples啊啊啊啊啊啊啊啊。

 剩下的接着学习吧,期待自己的成长。

时间: 2024-10-13 20:53:56

一路OPENCV的风景的相关文章

华山游记

一路向北的华山行 不知何时准备开始的这次旅行.不知何因开始的旅行.或许因为一场毫无因缘的梦境,或许只是自己想说走就走的心境.谁知道呢?冥冥之中自有安排,安排你去看本应属于你眼中的风景,安排你去结识命中该结识的人,安排你去了解本该深入了解的人.anyway,它就这么开始了. 出发前的乌龙 因为是周五,下班就迅速车瑞了,心里有些忐忑不安,总担心一如之前的不靠谱的风格,会出什么叉子.正如琳琳说的“念念不忘,必有回响”.到家门才发现早上出门没有带钥匙,精心准备的行李静静的躺在沙发上,剩下的是我可望而不可

一路风景---我期待的师生关系

题目源于我中学时代的一本作文选集,这本书里有我很多的第一次,第一次看文章到哭泣,第一次发自内心的想读书,第一次觉得自己于那些经过丰富生活的人来说有些孤陋......我心中一直期待一位让我发自内心想读书,让我敢于突破自己 挑战第一次的老师,我心中期待的师生关系也是这样,不仅仅是老师与学生的关系,更是导师与朋友的关系,是我走过所有路中,少不了的风景. 你觉得自己专业吗?对专业的期望是什么? 说起专业,大学到现在已经念了一年半,可以说我对自己所学专业涉猎尚浅,一点也不专业.但经过这一年半的大学生活,我

Qt 使用Opencv

1.Qt 安装在D:\Programs,一路安装就可以了 2.Opencv解压到D:\Programs. 3.下载安装CMake.http://www.cmake.org/cmake/resources/software.html 3.添加PATH环境变量D:\Programs\Qt\Tools\mingw482_32\bin.(D:\Programs\opencv\build\x86\vc10\bin;D:\Programs\opencv\build\x64\vc10\bin;D:\Progr

python配置opencv实现人脸检测

模式识别课上老师留了个实验,在VC++环境下利用OpenCV库编程实现人脸检测与跟踪. 然后就开始下载opencv和vs2012,再然后,配置了好几次还是配置不成功,这里不得不吐槽下微软,软件做这么大,这么难用真的好吗? 于是就尝试了一下使用python完成实验任务,大概过程就是这样子的: 首先,配置运行环境: 下载opencv和python的比较新的版本,推荐opencv2.4.X和python2.7.X. 直接去官网下载就ok了,python安装时一路next就行,下载的opencv.exe

MFC中快速应用OpenCV(转)

转载链接:http://wiki.opencv.org.cn/index.php/MFC%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%BA%94%E7%94%A8OpenCV 简介和缘起 本教程原始讨论主题,请见 [原创]MFC中快速应用OpenCV教程,制作此教程的目的,就是为了方便广大windows下面使用MFC的用户可以轻松的在MFC窗口View类中,实现OpenCV格式图片的显示. 介绍基本的openCV和MFC的操作 在MFC中如何应用菜单,和Canny算子的实例 创建

Opencv各版本的配置

OpenCV 2.49 + VS2012 配置指南 首先下载 OpenCV2.4.9 源码: 一.  配置系统环境变量 1.  将源码解压到指定目录: 2.  将 opencv 添加到系统环境变量: 计算机-属性-高级系统设置 3.  点击环境变量 4 系统变量-Path-编辑 5.  将 OpenCV 目录添加进去 注:建议不管是 x86 还是 x64 都选择 x86.因为 x64 选 x64 的话有时会无法正常运行.vc11 对应 vs2012,  vc12 对应 vs2013.二.  配置

Windows下配置Qt 5.8+opencv 3.1.0开发环境

最近需要把程序移植到windows系统下,程序都已经写好了,然而没想到搭建一个开发环境却废了那么多功夫 为了防止以后重装系统后不会傻眼,决定将环境搭建的过程记录下来,也希望能够帮助到遇到同样问题的人 好了废话不多说 先给出需要下载的东西 (1)Qt Creator 下载地址http://qt-project.org(我是用的版本是5.8) (2)OpenCV 下载地址http://opencv.org/(我是用的是OpenCV 3.1.0)  PS:别下错了, 要windows版的 (3)CMa

matlab、opencv、halcon双目标定汇总

相机的标定对于测距和重建还是很重要的,特把用过的工具和方法进行一次汇总,以便查阅.分析和讨论(本人扣扣1256635840) ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 1.MATLAB camera calib

Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)

开篇的话 最近各种事,比较烦心,忙了N久终于慢慢腾腾的开始了OpenCV的学习,环境搭建也耗费了好久的时间.不管怎样,开始了就努力加油,关于环境的大家就转述一个学姐的博文吧,自己不想再弄了,因为真的很完美了. 原文转载链接:http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html Summary 2012年4月给同学写了篇傻瓜式的 VS2010+Opencv-2.4.0的配置攻略 结果没有想到,点击量一路飙升,固定在了