网站开发好学吗,潍坊视频类网站建设,环保部网站建设项目,网站设置三方交易创建一个Qt控制台项目,目的是实现在控制台打开摄像头视频。由于windows平台是支持GUI#xff08;图形用户界面#xff09;功能#xff0c;所以在windows环境下是可以打开的#xff0c;但是linux环境下#xff0c;由于不支持GUI功能#xff0c;而是支持wayland#xff0c…创建一个Qt控制台项目,目的是实现在控制台打开摄像头视频。由于windows平台是支持GUI图形用户界面功能所以在windows环境下是可以打开的但是linux环境下由于不支持GUI功能而是支持wayland而imshow()是基于GUI的所以在linux环境下运行这段代码会报错如果想在linux环境下显示摄像头视频必须创建QWidget项目视频显示在QLabel控件上才可以。控制台项目默认pro是不包含QT core widgets这一行的需要手动加上这一行代码另外在main函数中不要使用QCoreApplication而是使用QApplication因为QCoreApplication不支持GUI功能。 pro文件
QT - gui
QT core widgets
CONFIG c11 console
CONFIG - app_bundle
DEFINES QT_DEPRECATED_WARNINGS
win32{INCLUDEPATH D:/opencv4.1.2/build/install/include/LIBS D:/opencv4.1.2/build/install/x86/mingw/bin/libopencv_*.dll
}
SOURCES \main.cppqnx: target.path /tmp/$${TARGET}/bin
else: unix:!android: target.path /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS targetcpp源码
#include QApplication
#include opencv2/opencv.hpp
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{QApplication a(argc, argv);string urlrtsp://admin:admin123192.168.2.184:554/h264/ch1/sub/av_stream;VideoCapture cap;if(!cap.open(url,CAP_ANY)){return -1;}else{Mat img;while (1) {if(!cap.read(img)){continue;}else{imshow(img,img);cv::waitKey(1);}}}return a.exec();
}秋风写于淄博技术交流与业务联系Q375172665