《Opencv 2计算机视觉编程手册 》学习笔记 1
2015-02-09 14:59
323 查看
一、Opencv 各个库(2.2以上)
opencv_imgproc模块,包含图像处理函数。
opencv_core模块,包含核心功能,尤其是底层数据结构和算法函数。
opencv_highgui模快, 包含读写图像及视频的函数,以及操作图像用户界面函数。
opencv_features2d模块,包含兴趣点监测子、描述子以及兴趣点匹配框架。
opencv_calib3d模块,包含相机标定、双目几何估算以及立体视觉函数。
opencv_video模块,包含运动估算、特征跟踪以及前景提取函数与类。
opencv_objdetect模块,包含物体检测函数,如脸部与行人检测。
库中还包含其他的工具模块,如机器学习(opencv_ml)、计算机几何(opencv_flann),第三方代码(opencv_contrib)、废弃的代码(opencv_legacy)及GPU加速过的代码(opencv_gpu)。这些模块都有一个单独的头文件(位于include文件夹)。
二、关于Mat类
cv::Mat类是用于保存图像以及其他矩阵数据的数据结构。默认情况下,它们的尺寸为0,但是你也可以指定初始尺寸:cv::Mat ima(240,320,CV_8U,cv::Scalar(100));
当cv::Mat对象离开作用域后,分配的内存将自动释放。cv::实现了引用计数以及浅拷贝,当图像之间进行复制时,图像数据并没有发生复制,两个对象都指向同一块内存块。引用计数的作用是当所有引用内存数据的对象都被析构后,才会释放内存块。如果希望创建的图像拥有原始图像的崭新拷贝,那么可以使用copyTo()方法。
OpenCV2引入了崭新的C++接口。之前使用的C函数和数据结构仍然可以使用,其中图像是通过IplImage进行操作的。
将一个IplImage 到 cv::Mat对象
IplImage* iplImage = cvLoadImage("c:\\img.jpg");
cv::Mat image4(iplImage,flase);
cvLoadImage是一个C风格的图像读取函数。cv::Mat对象构造函数中的第二个参数说明不需要进行数据拷贝(设为true意味着得到崭新的拷贝,默认值为false),即IplImage与image4共享一份图像数据。
opencv_imgproc模块,包含图像处理函数。
opencv_core模块,包含核心功能,尤其是底层数据结构和算法函数。
opencv_highgui模快, 包含读写图像及视频的函数,以及操作图像用户界面函数。
opencv_features2d模块,包含兴趣点监测子、描述子以及兴趣点匹配框架。
opencv_calib3d模块,包含相机标定、双目几何估算以及立体视觉函数。
opencv_video模块,包含运动估算、特征跟踪以及前景提取函数与类。
opencv_objdetect模块,包含物体检测函数,如脸部与行人检测。
库中还包含其他的工具模块,如机器学习(opencv_ml)、计算机几何(opencv_flann),第三方代码(opencv_contrib)、废弃的代码(opencv_legacy)及GPU加速过的代码(opencv_gpu)。这些模块都有一个单独的头文件(位于include文件夹)。
二、关于Mat类
cv::Mat类是用于保存图像以及其他矩阵数据的数据结构。默认情况下,它们的尺寸为0,但是你也可以指定初始尺寸:cv::Mat ima(240,320,CV_8U,cv::Scalar(100));
当cv::Mat对象离开作用域后,分配的内存将自动释放。cv::实现了引用计数以及浅拷贝,当图像之间进行复制时,图像数据并没有发生复制,两个对象都指向同一块内存块。引用计数的作用是当所有引用内存数据的对象都被析构后,才会释放内存块。如果希望创建的图像拥有原始图像的崭新拷贝,那么可以使用copyTo()方法。
OpenCV2引入了崭新的C++接口。之前使用的C函数和数据结构仍然可以使用,其中图像是通过IplImage进行操作的。
将一个IplImage 到 cv::Mat对象
IplImage* iplImage = cvLoadImage("c:\\img.jpg");
cv::Mat image4(iplImage,flase);
cvLoadImage是一个C风格的图像读取函数。cv::Mat对象构造函数中的第二个参数说明不需要进行数据拷贝(设为true意味着得到崭新的拷贝,默认值为false),即IplImage与image4共享一份图像数据。
相关文章推荐
- 学习《OpenCV 2 计算机视觉编程手册》第二章存取像素值案例--椒盐噪声
- 学习《OpenCV 2 计算机视觉编程手册》第二章遍历图像和领域操作实例——对图像进行锐化
- 学习《OpenCV 2 计算机视觉编程手册》第二章---使用指针遍历图像案例
- 《OpenCV2 计算机视觉编程手册》视频处理三
- opencv计算机视觉学习笔记一
- opencv计算机视觉学习笔记三
- opencv计算机视觉学习笔记二
- 《OpenCV 3计算机视觉:Python语言实现》学习笔记——目标跟踪中基本运动检测的思考
- 计算机视觉与图像处理学习笔记(二)win32+mingw+opencv搭建
- opencv计算机视觉学习笔记四
- opencv计算机视觉学习笔记七
- opencv计算机视觉学习笔记五
- opencv计算机视觉学习笔记六
- OpenCV2计算机视觉应用编程手册(自学版)初级二
- opencv计算机视觉学习笔记三
- OpenCV2计算机视觉应用编程手册(自学版)初级六
- opencv2 计算机视觉编程手册 estimateF.cpp
- 【Oencv2计算机视觉学习笔记(一)】QT5.3.1 与 OpenCV2.4.9 环境搭建
- 计算机视觉与图像处理学习笔记(三)opencv的基本数据类型与简单图像处理函数
- opencv计算机视觉学习笔记八