在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中,如何将二维数组转化为一副图像进行显示?的主要内容,如果未能解决你的问题,请参考以下文章