0
.PGM圖像時,我要保存.PGM格式的實時視頻的每一幀中。我在C++中使用opencv 2.4.8。我的問題是,儘管所有幀都以正確的格式(例如frame_1.pgm)保存並呈現出來,但是當我打開它們時,它們不是灰度的,因爲.pgm照片應該是。此外,我用hexeditor打開了圖像,並將它們與正確的pgm照片進行了比較,並且有明顯的區別!有人可以對我所做的錯誤提供任何建議嗎?錯誤節能與OpenCV的
這裏是我的代碼的關鍵部分:
///////////////////////////////// /////////////////////////////
vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PXM_BINARY);
compression_params.push_back(0);
captureDevice1>> captureFrame1;
imwrite("frame_55.pgm",captureFrame1,compression_params);
//string imagename=argv[2];
string imagename="frame_";
//string imagename="frame_";
char numberfile[17];
sprintf_s(numberfile,17,"%u",im);
imagename+=numberfile;
imagename+=".pgm";
std::ifstream in(imagename.c_str(), std::ios::binary);
if (!in)
{
std::cout << "Error in Image: " << imagename << std::endl;
continue;
}
in.close();
////////////// ////////////////////////////////////////////////// ///////
現在,如果我嘗試加載圖像:frame_55.pgm我得到一個「不支持的格式」的錯誤,而它正常工作與其他.PGM圖像!
日Thnx提前傢伙您的時間!
你解決這個問題呢?我有一個非常類似的問題。 –
不幸的是......如果我發現,但我會更新帖子!請如果你發現任何相同的東西...謝謝! –
我的確有一個建議是如果一個圖像的內存中表示是一個數組上的'imdecode'。 –