IplImage到CvMat的转换

// opncvtest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<stdio.h>

#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;
 
int _tmain(int argc, _TCHAR* argv[])
{
   // CvMat * mat = cvCreateMat(5,5,CV_8UC3);

	int data[80*100*3];
	for(int i=0;i<80;i++)
		for(int j=0;j<100;j++)
		{
			data[i*100*3+j*3] = (i * 3  + j)%256;
			data[i*100*3+j*3+1] = (i * 5  + j)%256;
			data[i*100*3+j*3+2] = (i * 7  + j)%256;
		}

	CvMat mat = cvMat(80,100,CV_8UC3,data);

	IplImage * img = cvCreateImage(cvGetSize(&mat),IPL_DEPTH_8U,3);

	cvGetImage(&mat,img);

	cvNamedWindow("1");
	cvShowImage("1",img);
	cvWaitKey(0);				
	return 0;
}

注意矩阵类型是CV_8UC3

对应的图像类型确是IPL_DEPTH_8U

首先调用cvCreateImage来创建一个矩阵,然后通过调用cvGetImage把矩阵转换为IplImage

参考http://wenku.baidu.com/view/b51b04878762caaedd33d490.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值