OpenCV学习之CvMat的用法详解及实例(一)
来源:互联网 发布:java知识分享网 编辑:程序博客网 时间:2024/05/22 01:51
本文转载自 LOVE笨笨猪 http://blog.sina.com.cn/s/blog_74a459380101obhm.html
OpenCV学习之CvMat的用法详解及实例
1.初始化矩阵:
方式一、逐点赋值式:
CvMat*
cvZero(
cvmSet(
cvmSet(
cvmSet(
cvmSet(
cvReleaseMat(
方式二、连接现有数组式:
double
CvMat
//
2.IplImage <----->cvMat的转换
A.CvMat->
IplImage*
cvGetImage(matI,img);
cvSaveImage("rice1.bmp",img);
B.IplImage
IplImage*
法2:CvMat
法1:CvMat
3.IplImage <--->Mat的转换
(1)将IplImage----- > Mat类型
Mat::Mat(const IplImage* img, bool copyData=false);
默认情况下,新的Mat类型与原来的IplImage类型共享图像数据,转换只是创建一个Mat矩阵头。当将参数copyData设为true后,就会复制整个图像数据。
例:
IplImage*iplImg = cvLoadImage("greatwave.jpg", 1);
Matmtx(iplImg);
// or : Mat mtx = iplImg; 或者是:Mat
(2)将Mat类型转换-----> IplImage类型
同样只是创建图像头,而没有复制数据。
例:
IplImage ipl_img = img;
IplImage*->
BYTE*
4.CvMat<--->Mat的转换
(1)将CvMat类型转换为Mat类型
B.CvMat->Mat
与IplImage的转换类似,可以选择是否复制数据。
CvMat*m=
Mat::Mat(const
在openCV中,没有向量(vector)的数据结构。任何时候,但我们要表示向量时,用矩阵数据表示即可。
但是,CvMat类型与我们在线性代数课程上学的向量概念相比,更抽象,比如CvMat的元素数据类型并不仅限于基础数据类型,比如,下面创建一个二维数据矩阵:
这里的type可以是任意的预定义数据类型,比如RGB或者别的多通道数据。这样我们便可以在一个CvMat矩阵上表示丰富多彩的图像了。
(2)将Mat类型转换为CvMat类型
与IplImage的转换类似,不复制数据,只创建矩阵头。
例:
// 假设Mat类型的imgMat图像数据存在
CvMat cvMat = imgMat;
5.cv::Mat--->const cvArr*
cvArr * 数组的指针。就是opencv里面的一种类型。
Mat img;
const CvArr* s=(CvArr*)&img;
上面就可以了,CvArr是Mat的虚基类,所有直接强制转换就可以了
void cvResize(
6.cvArr(IplImage或者cvMat)转化为cvMat
方式一、cvGetMat方式:
int
cvMat
{
}
写成函数为:
//
//
CVAPI(
{
}
7.图像直接操作
方式一:直接数组操作
uchar
for(
{
}
int
uchar
for(
{
}
注:CV_IMAGE_ELEM(
- OpenCV学习之CvMat的用法详解及实例(一)
- OpenCV学习之CvMat的用法详解及实例
- 转:OpenCV学习之CvMat的用法详解及实例
- OpenCV学习之CvMat的用法详解及实例
- OpenCV学习之CvMat的用法详解及实例
- OpenCV学习之CvMat的用法详解及实例(二)
- OpenCV学习之CvMat的用法详解及实例(三)
- OpenCV学习之CvMat的用法详解及实例
- 【OpenCV】CvMat的用法详解及实例
- CvMat的用法详解及实例
- CvMat的用法详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- CvMat、Mat、IplImage之间的转换详解及实例
- AndroidXML文件属性的详解
- PHP 连接 SQL2008
- Rotate Image
- boost库学习之 lexical_cast
- POJ 2337 Catenyms(有向图欧拉路径判定&&打印)
- OpenCV学习之CvMat的用法详解及实例(一)
- Java EE
- 2015-1-30-工作日志-刘婉
- Background-Output
- NYOJ 组合数 32(DFS)
- POJ 题目2253 Frogger(最短路变形)
- 使用Rational Rose来绘制UML图
- 蓝桥杯 算法训练 2的次幂表示
- 啊哈C——学习4.6练习