실시간 비디오의 모든 단일 프레임을 .pgm 형식으로 저장하려고합니다. opencv 2.4.8에서 C++로 작업하고 있습니다. 내 문제는 모든 프레임이 저장되고 현상 적으로 올바른 형식 (예 : frame_1.pgm)으로 저장되었지만 .pgm 사진이 있어야 함에도 불구하고 그 프레임을 열 때 회색 음영이 아닌 것입니다. 또한 hexeditor를 사용하여 이미지를 열고 올바른 pgm 사진과 비교했을 때 분명한 차이점이 있습니다! 내가 뭘 잘못하고 있는지 조언 해 줄 수 있습니까? 여기 opencv로 .pgm 이미지를 저장할 때 오류가 발생했습니다.
내 코드의 중요한 부분입니다 :///////////////////////////////// /////////////////////////////
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'에 대한 것입니다. –