在opencv中,如何将二维数组转化为一副图像进行显示?

如题所述

你的二维数组是不是仅存放图像数据?如果是这样的话你可以这样做:IplImage* img = cvCreateImage( CvSize size, int depth, int channels ); //size为图像宽高,depth为位深度,channels为通道数
img->imageData = Arr; //Arr为二维数组名
cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", img );//显示图像

cvWaitKey(0); //等待按键

cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &img ); //释放图像
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-10
需要声明一个OpenCV的IplImage * 格式的变量并使用cvCreateImage申请空间,用于存储图像。
然后将二维数组中每个像素值,赋给变量,最后直接cvSaveImage保存图像。
最后cvRealease 释放空间!
第2个回答  2020-06-18
第一opencv中的mat矩阵就是你想要的二维数组值,你可以建立一个动态二维数组传出mat矩阵存储图像的值!至于你说的存储数组值显示成图像而不是数据,你可以将使用数据类型转换!因为opencv的cvshowimage()你需要查下支持什么数据类型显示!例如:字符型变换成iplimage型等
相似回答