在 OpenCV 中加载像素值数组
Loading an array of pixel values in OpenCV
我有一个 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
相关文章:
- std::vector的包装器,使数组的结构看起来像结构的数组
- 堆栈和队列是否像C++中的数组一样传递?
- 我们可以将集合的值存储在变量中吗?就像我们可以将数组的值存储在变量中一样
- 如何像在 C++ 中处理数组一样对 .txt 文件中的字符进行寻址?
- 我必须找到给定数组中所有数字的周期,就像有很多解决方案,但数组的大小是 10^5
- 为什么在某些编译器中可以声明像int myarr[noconstant]这样的数组;而不是在其他编译器中?
- 每像素字节数,每行字节数-如何在tess二的tessbaseapi.cpp中使用函数nativeSetImageByte
- 澄清了 strcpy() 在像这样初始化字符数组时的工作 *Arr.
- 使用 ImageMagick 从像素强度数组创建灰度图像时遇到问题
- 为什么这个指针到指针的二维数组像这样分配新的 int
- 在 OpenCV 中加载像素值数组
- 无法将文件读入字符数组(像往常一样,某些指针问题)
- 将QImage的像素复制到数组的最快方法是什么?
- 将像素值从PXCImage获取到2D数组中
- 在数组中设置像素颜色
- 我必须更改的内容是我可以从数组中读取像素值
- 在C++中将图像数据(R,G和B像素)读取到2D数组中
- OpenGL转换RGBA字节像素到图像整数数组
- 如何将表示像素的字符数组读取为无符号整型
- 对BMP像素RGB数组应用模糊