2013-03-19 161 views
0

您好,我在文本文件中有一個大的33 x 33矩陣。我一直在研究opencv項目,它基本上讀取框架並計算相似度。所以基本上,我現在有這個大文本文件充滿數字。如何將這個矩陣可視化爲2D灰度圖像?將大矩陣轉換爲圖像

+0

什麼是你的txt文件的格式? yml/xml?那麼它是簡單的cv :: FileStorage – berak 2013-03-19 20:55:51

回答

1

您的矩陣是否爲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);