次のようにopenCVでマットを作成しました:
cv::Mat m = cv::Mat(10,10, CV_32FC1);
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
m.at<float>(i,j) = 1;
}
}
次の方法でディスクに保存します。
imwrite("out.png", m);
私は今、次のようにそれを読もうとしています:
cv::Mat m = imread("out.png", CV_LOAD_IMAGE_UNCHANGED);
m.at<float>(5,5)
しかし、たとえばのようにアクセスすると、 m のデータは完全にランダムに見えます。
書き込まれたデータを読み返すにはどうすればよいですか? たとえば、matlab では次のことができます。
m = imread("out.png")
そして、それは私に1の正しい行列を与えます
ありがとう