OpenCV를 처음 사용하고 cvLoadImage() 함수를 사용하여 이미지를로드하려고 할 때 문제가 발생했습니다.OpenCV cvLoadImage 함수가 명시 적 경로와 함께 작동하지 않습니다.
다음 코드는 (1) 작업 디렉터리 (주석 처리 된 코드 줄) 또는 (2) 데스크톱의 파일에 대한 명시 적 경로를 사용하여 "testImg.bmp"이미지를로드하려고 시도합니다. 두 개의 이미지 파일은 두 위치 (즉, 작업 경로가 데스크톱이 아님)에 위치한다는 것을 제외하면 완전히 동일합니다.
첫 번째 줄 (주석 처리 된 줄)을 사용하여 프로그램을 실행하면 이미지가로드되어 창에 표시됩니다. 그러나 프로그램을 서면으로 실행하면 (예 : 바탕 화면의 이미지에 대한 명시 적 경로 사용) 빈 창이 열리고 오류 메시지가 나타납니다 ("이미지를로드 할 수 없습니다"메시지).
명시 적 경로 행을 잘못했는지 알려주는 데 도움이되는 것은 이미지 파일을 작업 디렉토리로 옮기는 것이 일반적으로 실현 가능/바람직하지 않기 때문입니다.
#include "stdafx.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"
using namespace std;
int main(int argc, CHAR* argv[])
{
//IplImage* img = cvLoadImage("testImg.bmp");
IplImage* img = cvLoadImage("C:\Users\Jeremy\Desktop\testImg.bmp");
if(!img)
std::cerr<<"Unable to load image"<<endl;
cvNamedWindow("myfirstwindow");
cvShowImage("myfirstwindow",img);
cvWaitKey(0);
cvReleaseImage(&img);
return 0;
}
감사합니다, 같은 간단한 실수 중 하나를 사용하는 것을 의미한다. 나는 더 겸손하지만, 작동 코드와 함께 걸어 :) – user1457356