[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
一路OPENCV的风景
时间:
2016-05-12 21:35:16
阅读:
235
评论:
0
收藏:
0
[点我收藏+]
首先这个是一篇学习生涯的总结文,偏技术向,写给自己,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啊啊啊啊啊啊啊啊。
剩下的接着学习吧,期待自己的成长。
一路OPENCV的风景
原文:http://blog.csdn.net/qq_23947237/article/details/51351401
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!