在opencv中,如何将二维数组转化为一副图像进行显示?
3个回答
展开全部
你的二维数组是不是仅存放图像数据?如果是这样的话你可以这样做: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 ); //释放图像
img->imageData = Arr; //Arr为二维数组名
cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", img );//显示图像
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &img ); //释放图像
展开全部
需要声明一个OpenCV的IplImage * 格式的变量并使用cvCreateImage申请空间,用于存储图像。
然后将二维数组中每个像素值,赋给变量,最后直接cvSaveImage保存图像。
最后cvRealease 释放空间!
然后将二维数组中每个像素值,赋给变量,最后直接cvSaveImage保存图像。
最后cvRealease 释放空间!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一opencv中的mat矩阵就是你想要的二维数组值,你可以建立一个动态二维数组传出mat矩阵存储图像的值!至于你说的存储数组值显示成图像而不是数据,你可以将使用数据类型转换!因为opencv的cvshowimage()你需要查下支持什么数据类型显示!例如:字符型变换成iplimage型等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询