我是新來的opencv,也許有什麼我只是不理解。 我有一個waitkey,等待字母a,另一個應該打破,並導致退出。 一個或另一個似乎工作正常,但不是兩個。我不會收到編譯器錯誤或警告。所包含的代碼將針對枚舉的圖片進行一系列操作,但按下鍵盤上的字母'q'時不會關閉。 我在做什麼錯?opencv waitkey沒有響應?
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv){
VideoCapture cap;
// open the default camera, use something different from 0 otherwise;
if(!cap.open(0))
return 0;
// Create mat with alpha channel
Mat mat(480, 640, CV_8UC4);
int i = 0;
for(;;){ //forever
Mat frame;
cap >> frame;
if(frame.empty()) break; // end of video stream
imshow("this is you, smile! :)", frame);
if(waitKey(1) == 97){ //a
String name = format("img%04d.png", i++); // NEW !
imwrite(name, frame);
}
if(waitKey(1) == 113) break; // stop capturing by pressing q
}
return 0;
}
我怎樣才能得到'q'鍵退出程序?
將'waitKey(1)== 113'改爲'waitKey(0)== 113'。這樣它將等待一個按鍵,而不僅僅是1毫秒。 – DimChtz