如何在Windows / Linux中通过OpenCV应用程序检查显示器是否已连接?
当我运行我的应用程序时,需要以下程序行为:
当前,如果未连接监视器或使用SSH运行我的应用程序,则会收到一条错误消息,提示我无法将其捕获:
QXcbConnection:无法连接到 显示
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
if( argc != 2) return -1;
Mat image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
if(! image.data ) return -1;
try {
namedWindow( "Display window", WINDOW_AUTOSIZE );
imshow( "Display window", image );
waitKey(0);
} catch(...) {
imwrite( "output.jpg", image );
}
return 0;
}
当前,OpenCV应用程序需要附加标志-monitor来启用/禁用向窗口的输出,这不是很有用。
不需要完整的API,它将取代OS API。但是如果有一个返回监视器是否已连接的函数,那将非常有用。