请问opencv,有一个CvMat型数组,怎么显示成图片?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问opencv,有一个CvMat型数组,怎么显示成图片?相关的知识,希望对你有一定的参考价值。

本人初学opencv请教一下:
1、比如有一个数组:CvMat* A = cvCreateMat(h,w,CV_32F1);如何显示成图片?或者转换成IplImage型。
2、如果是CvMat**B是 存有图像RBG三个通道数据的数组,又如何显示成彩色的图片呢?或者转换成IplImage型。

参考技术A IplImage* pImg = NULL;
CvMat* pImgMat = NULL;
pImgMat = cvCreateMat(h,w,CV_32F1);
cvConvert(pImgMat ,pImg);本回答被提问者采纳
参考技术B 那些矩阵叫卷积核…图象卷积必须有核…跟据用途不同核也不同…不过都是数学公式里给好的…不同功能核不一样…比如拉普拉斯核…高斯核…等等…前者用于增强…后者用于平滑低同

opencv数组超过255

【中文标题】opencv数组超过255【英文标题】:opencv array more than 255 【发布时间】:2011-05-21 12:37:35 【问题描述】:

我正在处理 CV_8U 类型的 opencv 中的 CvMat。

我基本上是在添加数组(结果相加预计会超过 255 个)。

看起来 CvMat 数组不存储超过 255 的值(超过 10,000-20,000 的值)。我不希望发生溢出。

有什么方法可以使用 opencv 数据结构来做到这一点?

【问题讨论】:

【参考方案1】:

CV_8U 表示每个变量都在 0 到 255 之间(8 位无符号整数)。 CV_16U 会给你 0 到 65535 这就是你要找的全部吗?

【讨论】:

【参考方案2】:

使用更大的变量,例如 CV_16U 甚至 64 位双精度。 将两个矩阵都转换为大变量,然后应用您的代码。 在将其转换回 CV_8U 之前,不要忘记将所有内容重新缩放回 0..255

【讨论】:

以上是关于请问opencv,有一个CvMat型数组,怎么显示成图片?的主要内容,如果未能解决你的问题,请参考以下文章

懂opencv中的cvmat的请进啊

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

opencv编程中错误提示:不存在从mat到cvmat适当的转换函数。

opencv 数据类型转换:CvArr, Mat, CvMat, IplImage, BYTE 转

OpenCV 和 ROS:cvMAT 中的空指针错误

OpenCV:Mat,IplImage,CvMat类型转换