当前位置: 首页 > news >正文

Qt控制台项目也能使用opencv的imshow来显示摄像头视频

创建一个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 += c++11 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 += target

cpp源码:

#include <QApplication>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{QApplication a(argc, argv);string url="rtsp://admin:admin123@192.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

相关文章:

  • Playwright中page.locator快速查找网页元素和对象交互操作
  • Python刘诗诗
  • 使用axios时,函数内的this代表什么?
  • 【git】常用操作
  • MySQL中的视图
  • iOS runtime理解和应用场景
  • 前端性能基础测试研究
  • Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
  • CUDA下载安装与配置
  • 简单了解TCP/IP四层模型
  • 基于PHP的数字化档案管理系统
  • 接口隔离原则的实现方法及具体应用
  • VScode(Python)使用ssh远程开发(Linux系统树莓派)时,配置falke8和yapf总结避坑!最详细,一步到位!
  • Spring中的注释
  • matplotlib-散点图
  • 自己简单写的 事件订阅机制
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 5、React组件事件详解
  • Apache Pulsar 2.1 重磅发布
  • conda常用的命令
  • FastReport在线报表设计器工作原理
  • javascript面向对象之创建对象
  • js如何打印object对象
  • Laravel5.4 Queues队列学习
  • node 版本过低
  • Protobuf3语言指南
  • zookeeper系列(七)实战分布式命名服务
  • 百度小程序遇到的问题
  • 闭包,sync使用细节
  • 编写符合Python风格的对象
  • 如何用vue打造一个移动端音乐播放器
  • 我建了一个叫Hello World的项目
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 主流的CSS水平和垂直居中技术大全
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #NOIP 2014# day.2 T2 寻找道路
  • #pragma once与条件编译
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (27)4.8 习题课
  • (a /b)*c的值
  • (C语言)球球大作战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)ABI是什么
  • (转)Scala的“=”符号简介
  • ***通过什么方式***网吧
  • **PHP分步表单提交思路(分页表单提交)
  • ..回顾17,展望18
  • .Net Redis的秒杀Dome和异步执行
  • .net 程序发生了一个不可捕获的异常
  • .NET 的程序集加载上下文
  • .NET 中创建支持集合初始化器的类型