我使用OpenCV來讀取圖像。然後我使用Matlab來加載相同的圖像。 然後我顯示圖像。對於OpenCV加載的圖像,圖像內部沒有圖像,只有灰色平面。對於Matlab加載的圖像,它具有我想要的圖像。 圖像像素值是非常小的浮點數據,如0.0021。我用來加載圖像的代碼如下所示。OpenCV和浮點數據閱讀圖像
`Mat image(IMAGE_ROW, IMAGE_COL, CV_64FC3);
Mat gray(IMAGE_ROW, IMAGE_COL, CV_64FC1);
image = imread(filespath, CV_LOAD_IMAGE_COLOR);// Read the file
cv::imshow("Image", image);
cvtColor(image, gray, CV_BGR2GRAY, 1);
cv::imshow("gray", gray);`
爲什麼我不能像加載Matlab一樣的圖像?
我需要加載myimage.jpg,因爲我所有的圖像都是以jpg格式捕捉的。然後圖像像素值是非常小的浮點數,如0.00123,0.00245等。什麼是直接從JPG文件加載這些圖像的最佳方式。正如你所建議的,我們可以在Matlab中加載jpg,然後保存爲yml。然後再次在OpenCV中加載。但是有沒有......我可以調整,以便我可以直接從OpenCV加載這樣的圖像? – Bryanyan 2013-03-09 08:05:22
哦,等等,以上都是opencv代碼,不是matlab。而且你不能將浮點圖像存儲在jpg或png中。這不是opencv的限制,而是文件格式 – berak 2013-03-09 08:10:45
是的我知道上面的代碼是用於opencv的。我懂了。我怎樣才能通過你我的JPG文件?如果你有時間,你可以從opencv加載測試。當我在Matlab中讀取該jpg文件時,我收到了一個具有小像素值的圖像緩衝區。然後在OpenCv中,只是收到一個灰色的圖像。 – Bryanyan 2013-03-09 08:26:58