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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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 ); //释放图像
参考技术A 需要声明一个OpenCV的IplImage * 格式的变量并使用cvCreateImage申请空间,用于存储图像。
然后将二维数组中每个像素值,赋给变量,最后直接cvSaveImage保存图像。
最后cvRealease 释放空间!
参考技术B 第一opencv中的mat矩阵就是你想要的二维数组值,你可以建立一个动态二维数组传出mat矩阵存储图像的值!至于你说的存储数组值显示成图像而不是数据,你可以将使用数据类型转换!因为opencv的cvshowimage()你需要查下支持什么数据类型显示!例如:字符型变换成iplimage型等

以上是关于在opencv中,如何将二维数组转化为一副图像进行显示?的主要内容,如果未能解决你的问题,请参考以下文章

Opencv之图像灰度化

在 OpenCV 中创建二维矩阵数组?

opencv编程中cvMat到Mat如何进行数据转换?

opencv python:图像二值化

C# CS结构中 2005 如何将二维数组转化成DataSet

使用 openCV 在 C++ 中查看灰度 RAW 图像文件