0
OpenCV로 C++ 프로그램을 만들고 싶습니다.이 프로그램을 사용하면 사용자가 이미지를 어떻게 처리해야하는지 반복적으로 확인할 수 있습니다. 예를 들어 사용자는 특정 번호를 입력하여 명령을 실행할 수 있습니다. 내가 예를 들어이 코드는 다음과 같습니다OpenCV imshow() 이미지를 표시하는 루프에
int main()
{
int choose = -1;
for (;;)
{
cin >> choose;
if (choose == 0)
{
Mat img = imread(fileName1);//, CV_LOAD_IMAGE_GRAYSCALE);
if (!img.data)
{
cout << "Unable to load file." << endl;
}
else
{
namedWindow(fileName1, 1);
imshow(fileName1, img);
}
}
else if (choose == 1)
{
Mat img = imread(fileName2, CV_LOAD_IMAGE_GRAYSCALE);
if (!img.data)
{
cout << "Unable to load file." << endl;
}
else
{
namedWindow(fileName2, 1);
imshow(fileName2, img);
}
}
}
waitKey(0);
return 0;
}
이미지를로드하도록되어 창은 단지 회색으로 가득합니다. 이미지가 루프에 없을 때 이미지를로드하는 데 문제가 없습니다. 아무도 왜 이것이 문제를 일으키는 지 알아낼 수 있습니까?
편집 : 물론, 내가 그랬을지라도 루프의 시작 부분으로 돌아가서 숫자를 입력 할 때 어떤 이유로 열려있는 창이 열렸을지라도 waitKey (0)를 잊어 버렸습니다.
waitKey()가 필요합니다. imshow() (전형적인 noob 함정) – berak
후 나는 waitkey가 for 루프에 없다고 생각하고 0과 같은 다른 값을 가져야한다고 생각한다. – Engine
waitkey()는'imshow()'. –