Opencv 将大型矩阵转换为图像

Opencv 将大型矩阵转换为图像,opencv,matrix,Opencv,Matrix,嗨,我在一个文本文件中有一个大的33 x 33矩阵。我一直在做一个opencv项目,它基本上读取帧并计算相似性。基本上,我现在有一个大的文本文件,里面有数字。如何在2D灰度图像中可视化此矩阵?您的矩阵是cv::Mat对象吗 如果是,请: cv::Mat matrix; //Load the matrix from the file matrix = ... //show the matrix imshow("window name", matrix); //save the image i

嗨,我在一个文本文件中有一个大的33 x 33矩阵。我一直在做一个opencv项目,它基本上读取帧并计算相似性。基本上,我现在有一个大的文本文件,里面有数字。如何在2D灰度图像中可视化此矩阵?

您的矩阵是
cv::Mat
对象吗

如果是,请:

cv::Mat matrix;

//Load the matrix from the file
matrix = ...

//show the matrix
imshow("window name", matrix);

//save the image
imwrite("image.png", matrix);
如果没有,请执行以下操作:

cv::Mat matrix = cv::Mat.create(33, 33, CV_32FC1);
float* floatPtr = matrix.ptr<float>();

for (int i=0;i<33*33;i++)
     //read data from file here
    *floatPtr++ = data[i] //if it's in an array
    //If you have a file stream then do: file>>*floatPtr++;

//show the image
imshow("window name", matrix);

//save the image
imwrite("image.png", matrix);
cv::Mat matrix=cv::Mat.create(33,33,cv_32FC1);
float*floatPtr=matrix.ptr();

对于(inti=0;i)您的txt文件的格式是什么?yml/xml?那么它就是普通的cv::FileStorage