我在面向对象的方法中使用 OpenCV 在 C++ 中编程。基本上我有一个名为 People[8] 的对象数组。对于每个数组,我想通过使用网络摄像头拍照来为其分配一个图像。我做了这样的事情:
for (int i=0; i<8; i++){
cvWaitKey(0); //wait for input then take picture
Mat grabbed = cam1.CamCapture();
People[i].setImage(grabbed);
imshow("picture", grabbed);
cvWaitKey(1);
}
我在这里面临两个问题:1)imshow 不显示捕获的“最新”图像,它显示以前拍摄的图像,即(i-1)而不是 i。2)当我将所有图像一起显示时,会出现8个窗口,它们都在显示相机上拍摄的最后一张图像。
我不知道出了什么问题,有人可以请教吗?先感谢您。