私はComputer Visonの中間体であり、opencv pythonにはかなり堪能ですが、C++になっています。ビデオフィードからROIを選択し、切り取られたフィード。私のコードはこのように見えます。ビデオフレームは、esc、スペースバーまたはエンターキーが押されたときにのみ表示されます。OpenCV C++
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/tracking.hpp"
#include "iostream"
using namespace cv;
using namespace std;
int main() {
Mat frame1;
VideoCapture cap;
cap.open(0);
cap.read(frame1);
Rect2d roi = selectROI(frame1, true);
Mat Crop = frame1(roi);
while (1) {
cap.read(frame1);
Crop = frame1(roi);
if (Crop.empty()) {
cerr << "ERROR! blank frame grabbed\n";
break;
}
imshow("roi", Crop);
int key=waitkey(0);
}
}
コードがコンパイルされ、トリミングされたウィンドウは、しかし、私はビデオfeed.Weirdを取得するには、スペースバーまたはESCを入力してクリックすることが必要で、常に午前見られていますか?
私は、エンド当たり前でwaitkeyにする必要があり、明らかにそこに追加するのを忘れ! – rob
質問を編集してコードを修正することができますが、これはおそらく問題です - 'waitKey(0)'の代わりに 'waitKey(1)'を使用してください – slawekwin
実際に働いてくれてありがとう.....私は気づきませんでしたキーボードは無限のキー押しを待っていた...何かがロジックに間違っていたと思った..非常にばかげた、感謝aton !!! – rob