Я пытаюсь показать изображение на основе номера i вручную ввести [0 или 1], после чего он выбирает случайное изображение из 20 изображений в папке, которая будет показана. здесь кодimshow() не обновляет свой контент C++
stringstream ss;
string fullfileName;
int x;
int pic = 0;
namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);
while (1)
{
Mat img;
pic = 0;
cin >> x;
if (x == 0)
{
pic = rand() % ((10 - 1) + 1) + 1;
}
else if (x == 1)
{
pic = rand() % ((20 - 11) + 1) + 11;
}
ss << "C:/Users/abed/Desktop/Opencv/test/" << pic << ".jpg";
ss >> fullfileName;
img = imread(fullfileName, CV_LOAD_IMAGE_UNCHANGED);
imshow("MyWindow", img);
char key = (char)waitKey(20);
if (key == 27)
break;
}
return 0;
моя проблема заключается в следующем: imshow() визуализирует только первое изображение выбранного, независимо от того, новое значение Пути изображения. спасибо.
Вы проверили, и вы уверены, что путь меняется? Кроме того, можно загружать все изображения? –
Да, я поставил некоторый «cout», чтобы проверить, не изменились ли они, и все изменилось, путь к изображениям правильный, и все они могут быть загружены. Imshow() просматривает первый загруженный IMG и продолжает показывать его. –