c++ - 在 OpenCV 中加载像素值数组

标签 c++ opencv image-processing

我有一个 32 位整数数组,其中包含我想用来创建 Mat 图像的 3450x3450 图像的像素值。尝试了以下操作:

int *image_array;
image_array = (int *)malloc( 3450*3450*sizeof(int) );
memset( (char *)image_array, 0, sizeof(int)*3450*3450 );
image_array[0] = intensity_of_first_pixel;
...
image_array[11902499] = intensity_of_last_pixel;
Mat M(3450, 3450, CV_32FC1, image_array);

显示图像时出现黑屏。我还应该注意到该数组包含一个 16 位灰度图像。

最佳答案

我猜你应该尝试转换输入图像,我假设它是 RGB[A] 格式,使用:

cv::Mat m(3450, 3450, CV_8UC1, image_array) // For GRAY image
cv::Mat m(3450, 3450, CV_8UC3, image_array) // For RGB image
cv::Mat m(3450, 3450, CV_8UC4, image_array) // For RGBA image

关于c++ - 在 OpenCV 中加载像素值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41672721/

相关文章:

python - OpenCV 和 Python 中直线的反射

python - 为 OCR 对齐文本

php - GIF 或 PNG 图像的颜色检测

c++ - 完整类型概念的正式理解

c++ - Char 数组无法将字符保存为其成员。使用ATmega8的密码系统

opencv - 在 C 中使用双线性插值复制 OpenCV 调整大小(仅收缩)

c++ - opencv 中 findChessboardCorners() 的结果不一致

c++ - 为什么friend类可以通过Derived类访问到Base类私有(private)数据

c++ - 从 txt 文件中读取 double 类型 - C++

python-2.7 - python opencv2 中的 libpng 警告