OpenCV学习总结(一)

因为自己想做一个关于图像识别的项目,需要学习计算机视觉这一块的知识,经过一番搜索,终于让我找到了OpenCV。但是对于我这么一个菜鸟级的新手来说无疑是没用的,因为很多东西需要图像处理以及模式识别这块的基础知识。于是自己一番借书,拿回家看了一个寒假,算是有了那么一些了解。终于知道了模式识别中的决策方法、特征、特征向量、分类器、贝叶斯决策理论、聚类方法、GA……这些东西感觉太深奥了,没有一定的基础看起来非常吃力。但是,看了那么长时间,我好歹有了一些感性的认识。同时,也让我认识到之前学的知识是多么的重要

,因为很多东西都要用到从前的知识,像矩阵、行列式、概率论里德贝叶斯公式等等。

开学之后,我又借书,继续看,看到现在,感觉有些进步,至少我能用OpenCV写一些小程序了。然后又买了本《学习OpenCV》,看了几天,收获也不少。随着接触OpenCV的时间变长,越来越感觉这个库棒极了,至少我现在在不了解它是怎么实现的情况下用一些函数实现自己想要的效果。

期间我也向学校的实验室的老师请教过,他给了我很多的指导,我的一些疑惑也很快解决。我本来用手上标以颜色来区分我的手,然后直接在程序中以B < 10 && G < 10 && R > 200来简单的区分,我当然知道这很弱,但是老师没有嘲笑我,反而给了我鼓励,让我简单知道了背景建模这些运动物体追踪的方法,然我让我先想办法去实现。

本来我的想法是以皮肤的颜色先找出手所在的地方,然后通过标记的颜色找出位置,但是试了很多次,效果不理想,一旦场景复杂了我就没法识别了。我现在的想法就是直接在视频中找出运动的部分,然后再在这运动的地方找到我标记颜色的部位就行了,然后就是识别动作。我觉得,只有一步一步来,不要急,毕竟自己的基础知识有限,努力学习,慢慢去实现自己的目标!

这些天一直在看图像处理以及模式识别方面的基础知识,学了滤波器也就是图像噪声的消除,了解了cvSmooth函数的原理,不过一旦涉及到数学方面的知识什么高斯滤波之类的我就犯迷糊了,自己的基础知识不扎实啊!

简单总结下:

1.线性滤波器:空域滤波器和空域平滑滤波器,比较适合高斯噪声的消除;

2.非线性滤波器:中值滤波器,比较适合椒盐噪声的消除;

3.混合滤波器:效率高一点,如线性和中值混合的滤波器;

4.组合滤波器:利用噪声检测器判断是椒盐噪声还是高斯噪声,然后选择滤波器消除噪声;

对了,顺便提一下IplImage这个结构:

1.这个结构中,常用的:width height nChannels depth,不多说

2.重要的origin:/* 0 - 顶—左结构,1 - 底—左结构 (Windows bitmaps 风格) */dataOrder; /* 0 - 交叉存取颜色通道, 1 - 分开的颜色通道.cvCreateImage只能创建交叉存取图像 */虽然用的不多,但是有时候的bug就在这里;

3.自己要写实现某个算法要用的:imageData以及imageStep用法如下,以3通道的图像为例:(别用cvGet2D/cvSet2D,慢死的!!!)

 

我知道图像模式识别对我来说是比较难的,既然选择了这个项目,我就绝不轻言放弃。

自己要学的东西还有很多,慢慢来吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,OpenCV是一个开源计算机视觉和机器学习软件库,用于开发图像和视频处理应用程序。通过使用OpenCV,您可以读取摄像头并显示实时图像,打开视频文件或摄像头文件,并获取视频的相关信息,例如帧宽度、帧高度、帧率和总帧数。 对于学习OpenCV,你可以按照以下步骤进行: 1. 安装OpenCV库:在开始学习OpenCV之前,您需要从OpenCV官方网站下载和安装OpenCV库。根据您的操作系统和编程语言选择合适的版本。 2. 学习基本概念:熟悉OpenCV的基本概念和术语,例如图像和视频的加载、显示、保存以及常用的图像处理操作,如滤波、边缘检测和特征提取等。 3. 掌握OpenCV函数和类:深入了解OpenCV提供的函数和类,例如cv::Mat用于图像和矩阵操作,cv::VideoCapture用于读取和处理视频,以及cv::imshow和cv::waitKey等用于显示图像的函数。 4. 实践项目:通过完成一些实践项目来应用您所学到的知识。例如,利用OpenCV实现人脸检测、目标追踪、图像识别等。 5. 学习资料和资源:查找和阅读OpenCV的官方文档、教程和示例代码,参与开源社区讨论和交流,加入相关的论坛和邮件列表等。 总结起来,学习OpenCV包括安装OpenCV库、学习基本概念、掌握OpenCV函数和类、实践项目以及查找和阅读相关资料和资源。通过不断实践和学习,您将能够更好地理解和应用OpenCV库来开发图像和视频处理应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值