我的OpenCV学习笔记:VideoCapture类
opnCV 学习博客
http://blog.csdn.net/thefutureisour/article/details/7472104
1 OpneCV中的数据共享机制
OpenCV是一个很不错的开源计算机视觉库。我自己已经玩了一段时间了,决定把一些学习成果整理出来,分享给大家。学习OpenCV最好的助手当 然是opencv自带的手册和教程了。手册是英文版的,方便查找函数。教程有部分是中文版的,也有一部分没有汉化。可以通过网址:http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html查看。
这次主要是想说一个opencv中的数据共享机制。先看程序:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp> using namespace cv; //测试引用计数方面的问题
int main()
{
Mat image = imread("D:/picture/img.tif");
imshow("读入的图片",image); Mat result = image;
//result = image.clone();
//image.copyTo(result); //滤波程序
blur(image,image,Size(,));
imshow("结果图片",result); waitKey();
return ;
}
程序做了一下几件事情:读入图片image,将image于result关联起来。OpenCV中一个重要的特点就是你不必事先指定图像的长、宽、像素深
度等信息,库函数会自动帮你完成。然后对image图像进行滤波,显示滤波以后result图像的结果(注意:不是image的结果)。
对于图像result,程序中提供3种方式与图像image关联:第一种是是用“=”,第二种是用copyTo,第三种使用clone。运行代码
可以发现:当使用“=”时,对image的滤波会导致result的图像改变;而使用clone或者copyTo不会引起result的改变。
原因是什么呢?因为使用“=”时,并没有复制新的数据,而只是让result指向image。它们指向的是内存中的同一份数据。等号操作以
后,image的引用计数+1而已。这就是所谓的“浅拷贝”。而copyTo则是把矩阵的每个元素都重新拷贝给了result。copyTo不仅拷贝了矩
阵元素值,还复制了矩阵的一些其他信息。它们是所谓的“深拷贝”。
我的OpenCV学习笔记:VideoCapture类的更多相关文章
- opencv学习笔记——FileStorage类的数据存取操作
OpenCV的许多应用都需要使用数据的存储于读取,例如经过3D校准后的相机,需要存储校准结果矩阵,以方便下次调用该数据:基于机器学习的应用,同样需要将学习得到的参数保存等.OpenCV通过XML/YA ...
- OpenCV 学习笔记 07 目标检测与识别
目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- opencv学习笔记(二)寻找轮廓
opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...
- opencv学习笔记(一)IplImage, CvMat, Mat 的关系
opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- OpenCV 学习笔记(模板匹配)
OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够 ...
- 【opencv学习笔记五】一个简单程序:图像读取与显示
今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...
- opencv学习笔记D01
目录 opencv学习笔记D01 一.图片读取 二.图片保存 三.图片展示 四.图片缩放 五.四种常用插值方式的比较 1.最近邻插值 2.双线性插值 3.区域插值 4.三次样条插值 我是尾巴: ope ...
随机推荐
- SPSS数据分析—最优尺度回归
在之前介绍的线性回归模型中,有一个隐含的假设是自变量均为连续变量,但实际上自变量有时候是分类变量,类似于方差分析中的因素,这种分类自变量在回归分析中,也默认作为连续变量使用,这就会产生一个问题,如果是 ...
- Repeart控件使用
对于刚刚接触到repearter控件,了解不深,现做个记录方便以后的查看 <asp:Repeater ID="rpt_OrderList" runat="serve ...
- html5对密码加密
今天找了几个关于对html5的密码加密的方法,仅供参考 1.base64加密:在页面中引入base64.js文件,调用方法为: <html> <head> <meta c ...
- 采用flask+uwsgi+nginx架构将flask应用程序部署在腾讯云
最近一星期加班为学校做了一个教师发展中心平台,在此总结一下部署经验 环境:Centos7.0 python2.7.5 1.安装nginx 命令行输入指令:sudo yum install nginx ...
- Thinkphp 3.2.2 利用phpexcel完成excel导出功能
首先百度搜索phpexcel 包,放到项目的这个目录下 接下来 是controller里的导出代码 /**导出预定产品用户信息 * 大白驴 675835721 *2016-12-12 **/pub ...
- [原创]WPF应用MediaPlayer播放声音断续、不全解决方案
1.检查扬声器和驱动程序. 测试方法:首先,应用Windows Media Player播放器播放,看是否有问题,如果有问题,基本断定是驱动程序问题.其次,点击扬声器,选择测试,查看扬声器是否好用,如 ...
- [教训] windows 电脑的垃圾文件清理...
坑你没商量! 这个名叫 “清除系统垃圾.bat“ 的文件在网上传播很广,但是,却出现了错误的版本,如果按照它逐条执行,将导致系统文件夹被一锅端,只能再重装的悲剧! 举个栗子: 错误版本:http:// ...
- 实验一 DOS命令解释程序的编写
一.目的和要求 1. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命令行解释程 ...
- python_bug
with open('test.txt','r',encoding='utf8') as f: Exception:'encoding' is an invalid keyword argument ...
- pct xcode7
1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然 ...