-1
我想顯示一個基於數字的圖像我手動輸入[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並保持顯示它。 –