seyvlei 原文地址

1、IplImage转Cvmat

   IplImage* src = cvLoadImage("rice.bmp",);
CvMat* mat=cvCreateMat(src->height,src->width,CV_32SC1);
cvConvert(src,mat);

或者:

Cvmat matObj;
* mat=cvGetmat(src,&matObj);

2、Cvmat转IplImage

IplImage* pImg = cvCreateImage(cvGetSize(mat),,);
cvGetImage(matI,pImg);
cvSaveImage("rice1.bmp",pImg);

from:http://apps.hi.baidu.com/share/detail/19289229

使用函数cvGetMat和cvGetImage,首先要创建矩阵头,和图像头,数据共享。

例:

IplImage,CvMat圖形矩陣空間

#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main()
{
IplImage *Image1;
IplImage *Image2;
CvMat *Matrix1; CvSize Size1;
Image1=cvLoadImage("footpath.jpg",); Size1=cvGetSize(Image1); Image2=cvCreateImageHeader(Size1,IPL_DEPTH_8U,);
Matrix1=cvCreateMatHeader(Size1.height,Size1.width,CV_8UC3); cvGetMat(Image1,Matrix1); cvFlip(Matrix1,Matrix1,); cvGetImage(Matrix1,Image2); cvNamedWindow("footpath (Flip)",);
cvShowImage("footpath (Flip)",Image2);
cvWaitKey(); cvReleaseImage(&Image1);
cvReleaseImageHeader(&Image2);
cvReleaseMatHeader(&Matrix1);
cvDestroyWindow("footpath (Flip)");
}

【转】Cvmat与IplImage的相互转换的更多相关文章

  1. OpenCV(三) 之 基本数据结构 CvMat和 IplImage

    OpenCV(三) 之 基本数据结构 CvMat和 IplImage CvMat IplImage OpenCv中基本的数据类型 类型 参数 表示 CvPoint int x,y 像素点 CvPoin ...

  2. Opencv中将CvMat转为IplImage

    Opencv中将CvMat转为IplImage,并在内存获得起头指针,而不用cvSaveImage(),贴上代码 IplImage * imgg = NULL; imgg = cvCreateImag ...

  3. OpenCV数据结构:CvMat,IplImage,CvArr的应用

    最近看HS算法时,发现在新的OpenCV3.0已经移除了该算法,于是不得不看老版的.这其中涉及到了CvMat,CvArr,IplImage的使用.关于这三个结构与Mat的转换关系,总结如下: (1)派 ...

  4. OpenCV——Mat、CvMat、IplImage类型浅析【转】

    OpenCV中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage. 一.Mat类型:矩阵类型,Matrix. 在openCV中,Mat是一个多维的密集数据数组.可以用来处理向量和矩阵 ...

  5. CvArr、Mat、CvMat、IplImage、BYTE转换

    一.Mat类型:矩阵类型,Matrix.     在openCV中.Mat是一个多维的密集数据数组. 能够用来处理向量和矩阵.图像.直方图等等常见的多维数据.     Mat有3个重要的方法:     ...

  6. 图像处理之opencv---mat、cvmat、IplImage之间的转换

    一.Mat类型:矩阵类型,Matrix.  在openCV中,Mat是一个多维的密集数据数组.可以用来处理向量和矩阵.图像.直方图等等常见的多维数据. Mat有3个重要的方法: 1.Mat mat = ...

  7. openc下cv::Mat和IplImage的相互转换

    opencv2.0的类CV::Mat和opencv1.0的IplImage之间烦人转换: cv::Mat matimg = cv::imread ("girl.jpg"); Ipl ...

  8. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  9. IplImage, CvMat, Mat 的关系和相互转换(转)

    (看到的一篇非常好的文章,讲opencv内部类之间的关系的.) opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重 ...

随机推荐

  1. 201621123034 《Java程序设计》第13周学习总结

    作业13-网络 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以 ...

  2. hdu 2821 Pusher (dfs)

    Pusher Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/65536 K (Java/Others)Total Subm ...

  3. 洛谷 P3157 [CQOI2011]动态逆序对 | CDQ分治

    题目:https://www.luogu.org/problemnew/show/3157 题解: 1.对于静态的逆序对可以用树状数组做 2.我们为了方便可以把删除当成增加,可以化动为静 3.找到三维 ...

  4. 2017 多校1 I Curse Myself

    2017 多校2 I Curse Myself(第k小生成树) 题目: 给一张带权无向连通图,该图的任意一条边最多只会经过一个简单环,定义\(V(k)为第k小生成树的权值和\),求出\(\sum_{k ...

  5. Codeforces Round #306 (Div. 2) 550A Two Substrings

    链接:http://codeforces.com/contest/550/problem/A 这是我第一次玩cf这种比赛,前面做了几场练习,觉得div2的前面几个还是比较水的. 所以看到这道题我果断觉 ...

  6. 朗格拉日计数(counter)

    朗格拉日计数(counter) 题目描述 在平面上以圆周等分排列着n个带标号(标号为1-n)的点,你需要计算有多少个三元组(a,b,c),满足a<b<c而且标号为a,b,c的点在圆上分布的 ...

  7. 点击图片改变背景的demo-学习第二天

    实例代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  8. 7月9日day1总结

    今天的学习过程和小结 上午学习了前端包括html,CSS,js等基本内容 前端10.25.134.187 html js css 1.块元素 ---默认占满整行,如果设置了高度和宽度都有效,如果不设置 ...

  9. Linux Mint---开启桌面三维特效

    其实系统默认已经安装好了compiz,我们只需要切换就可以了 menu->control center->desktop setting->window 开启compiz的时候,由于 ...

  10. 转 C++中的static关键字

    C++中的static关键字 C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作 ...