OpenCV2学习笔记(一)】的更多相关文章

Mat - 图像的容器 在对图像进行处理时,首先需要将图像载入到内存中,而Mat就是图像在内存中的容器,管理着图像在内存中的数据.Mat是C++ 的一个类,由于OpenCV2中引入了内存自动管理机制,所以不必手动的为Mat开辟内存空间以及手动的释放内存.Mat中包含的数据主要由两个部分构成:矩阵头(矩阵尺寸.存储方法.存储地址等信息)和一个指向存储图像所有像素值的矩阵(根据所选的存储方法不同的矩阵可以是不同的维数)的指针. 在图像处理中,对图像的处理不可能是在一个函数中完成的,这就需要在不同的函…
对图像进行翻转或旋转可以使用cv::flip()函数,可以实现将一个二维矩阵沿X轴.Y轴或者同时沿XY轴翻转.函数原型如下: C++: void flip(InputArray src, OutputArray dst, int flipCode) 参数介绍: src: 即输入矩阵 dst: 即输出矩阵 flipCode: 旋转码,即控制函数对矩阵进行怎样的旋转.当参数flipCode=0时,将对矩阵沿X轴方向翻转:当flipCode>0时,将对矩阵沿Y轴方向翻转:当flipCode<0时,将对…
在Qt中开发基于OpenCV的应用时,需要配置对应函数库到环境变量,这时候我们需要使用到qmake能够识别的变量来指定环境变量. INCLUDEPATH: 用于指定搜索头文件到文件夹路径. LIBS: 包含链接时的库文件列表.使用-L来指定文件夹路径,-l来指定库的名称. 而这些配置,我们需要写入到对应到工程文件(*.pro)当中,可以有两种写法. 第一种:直接指定包含到库文件名称. INCLUDEPATH += /usr/local/include/opencv2/ LIBS += /usr/…
1. 图像读取:imread() Mat imread( ) 参数介绍: filename: 待加载的文件名称. flags: 此标志用来指定被加载图像的颜色类型(color type).这个标志的取值可以有: -- CV_LOAD_IMAGE_ANYDEPTH : 如果设置这个标志的话,如果图像为16位或32位深度的图像,则返回对应深度的图像:否则,将图像转换为8位深度图像再返回. -- CV_LOAD_IMAGE_COLOR : 如果设置此标志,则总是将图像转换为彩色图像. -- CV_LO…
我这里编译的库是通过手动编译的.只是需要注意的是,手动编译一般会产生大量的文件,差不多7个多G的样子,实在是有点浪费硬盘存储呀,其实我们可以删除掉没有用的东西.因为我们在编译的时候指定了一个目录比如我设定的/build/vs2013,所有的文件都会在vs2013文件夹下生成,而唯一对我们有用的就是最终生成的install文件夹,除了这个文件夹的内容之外,其他的文件可以全部删除.去掉那些无用的文件之后,磁盘瞬间轻松了许多,有图有真相. 1. 首先设置系统的环境变量: D:\3rdPartLib\o…
个人已经厌倦了Windows下的开发方式,于是决定转到Linux平台上来,当然我也知道这个转变会很艰辛,但是我还是要坚持.所以,后面的所有开发我都会基于Linux和Qt,先从开发环境的搭建开始做起,当然,这里我只会讲OpengCV部分到内容,至于Qt部分,请参考其他部分到资料,我这里使用的是当前最新到版本Qt 5.3.0和OpenCV 2.4.9,操作系统使用到是Ubuntu 14.04. 在安装OpenCV库之前,我们需要有一系列到准备工作要做,当然各个工作之间也没有什么必然联系,下面仅仅记录…
得知OpenCV有一段时间.除了研究的各种算法的内容.除了从备用,据导游书籍和资料,尝试结合链接的图像处理算法和日常生活,第一桌面上(随着摄像头)完成了一系列的视频流处理功能.开发平台Qt5.3.2+OpenCV2.4.9. 本次试验实现的功能主要有: 调用摄像头捕获视频流: 将帧图像转换为素描效果图片: 将帧图像卡通化处理: 简单地生成"怪物"形象: 人脸肤色变换. 本节全部的算法均由类cartoon中的函数cartoonTransform()来实现: // Frame:输入每一帧图…
在使用OpenCV时,在对一个函数的调用不是非常了解的情况下,通常希望查到该函数的官方声明.而假设想进一步研究OpenCV的函数,则必须深入到源码. 在VS中我们能够选中想要查看的OpenCV函数,点击右键-> 转到定义.我们能够非常清楚地了解到函数的简单声明,可是并没有给出源码. 这是由于openCV将非常多函数被增加了函数库,并被编译成了dll.所以仅仅能看到函数申明,没法看到源码. 第一个方法:在官网下载OpenCV后须要解压缩,完毕后能够找到OpenCV的解压文件夹打开,在source/…
阅读对象:熟悉knn.了解opencv和python. 1.knn理论介绍:算法学习笔记:knn理论介绍 2. opencv中knn函数 路径:opencv\sources\modules\ml\include\opencv2\ml\ml.hpp 3.案例 3.1数据集介绍 我们的目的是创建一个可以对手写数字进行识别的程序.为了达到这个目的我们需要训练数据和测试数据.OpenCV 安装包中有一副图片(/samples/python2/data/digits.png), 其中有5000 个手写数字…
摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的,所以我就想着研究一下这个库,这里是个人的学习笔记,不是什么权威的教程,如果你们有错误也麻烦帮我指出哈. =============================================分割线==================================================…