前提・実現したいこと
waitKeyでキーボード入力を実現したいです.
発生している問題・エラーメッセージ
キーボード入力キーボード入力に反応しない.
該当のソースコード
C++
1#include "pch.h" 2#include <opencv2/opencv.hpp> 3#pragma comment(lib, "opencv_world400d.lib") 4using namespace cv; 5using namespace std; 6 7int main() 8{ 9 cv::VideoCapture cap(0); 10 Mat src; 11 while (1) 12 { 13 cap >> src; 14 cv::imshow("取得画像", src); 15 if (waitKey(30) == 27) break; 16 } 17 return 0; 18}
試したこと
waitKeyの待ち時間や 27を'a'に変えたりしましたが状況変わらず.
などのキーボード入力は出来ました.
つい先日まではwaitKeyは問題なくキーボード入力できました.
補足情報(FW/ツールのバージョンなど)
Visual Studio2017
Windows10
opencv3
とりあえず、以下のようなコードを while の中に仕込んで、キーを押したときの値を出力してみてはどうでしょうか?
std::cout << cv::waitKey(1) << std::endl;
やってみましたが, キーボード入力してないにもかかわらず-1という値が出力されました.
opencvの画像のウインドウをクリックして(opencvの画像のウインドウをアクティブ状態にして)キーボード入力すれば、ウインドウが終了しませんか。
cv::waitkey(0);だと任意のキーで終了しますが、今回は無限ループのwhile文の中にあるif(cv::waitKey(int 待ち時間)= int 終了させるキー)のパターンです。終了させるキーが27だとescapeキーを押さないかぎり、ウインドは終了しないです。ubuntu14.04の環境で一応、確認を取りました。