Qt5--学习笔记-+openCV2-客户端、服务端回环视频显示

来源:互联网 发布:百度seo排名点击软件 编辑:程序博客网 时间:2024/05/22 00:21

参考资料:openCV2参考文档
参考博客

修改了博主的代码,并将整个客户端加服务端的代码工程代码上传到CSDN网站上。

OpenCV的运用

 安装OpenCV其实就是下载好OpenCV的压缩包之后解压到你想放到的地方。然后在系统路径添加路径D:\Software\OpenCV\openCV2413\opencv\build\x64\vc12\bin
 接下来就是在QtCreator的需要用到OpenCV的工程.pro里面添加路径:

INCLUDEPATH+=D:\Software\OpenCV\openCV2413\opencv\build\includeINCLUDEPATH+=D:\Software\OpenCV\openCV2413\opencv\build\include\opencvINCLUDEPATH+=D:\Software\OpenCV\openCV2413\opencv\build\include\opencv2LIBS+=D:\Software\OpenCV\openCV2413\opencv\build\x64\vc11\lib\opencv_*.libLIBS+=D:\Software\OpenCV\openCV2413\opencv\build\x64\vc12\lib\opencv_*.lib

xxx.pro

#-------------------------------------------------## Project created by QtCreator 2017-04-04T00:11:15##-------------------------------------------------QT       += core guiQT       += networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = ClientTEMPLATE = appSOURCES += main.cpp\        client.cppINCLUDEPATH+=D:\Software\OpenCV\openCV2413\opencv\build\includeINCLUDEPATH+=D:\Software\OpenCV\openCV2413\opencv\build\include\opencvINCLUDEPATH+=D:\Software\OpenCV\openCV2413\opencv\build\include\opencv2LIBS+=D:\Software\OpenCV\openCV2413\opencv\build\x64\vc11\lib\opencv_*.libLIBS+=D:\Software\OpenCV\openCV2413\opencv\build\x64\vc12\lib\opencv_*.libHEADERS  += client.hFORMS    += client.ui

于是就可以调用一下这些常用的库了

#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/core/core.hpp>#include<opencv2/opencv.hpp>

注意

 用到OpenCV就必须使用C++的命名空间
using namespace cv
不然会报各种各样的无穷无尽的“未知重写说明符”的错误
就像下面的。。。。。。。
D:\Output\Qt\client\client.h:36: error: C3646: “cap”: 未知重写说明符
 这个错误的原因就是举个例子:现在有a.h a.cpp和 b.h b.cpp;现在在a.h 中#include了b.h,并定义了一个b类的对象,然后在b.h中又#Include了一个a.h,然后就会出现了这个错误了,而C++的命名空间就是为了解决这个问题!
 于是整个程序代码就变成这样了!
client.h

#ifndef CLIENT_H#define CLIENT_H#include <QMainWindow>#include <QWidget>#include<QtNetwork>#include<QTcpServer>#include<QTcpSocket>#include<QImage>#include<QImageReader>#include<QTime>#include<QDebug>#include<QMessageBox>#include<QFileDialog>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/core/core.hpp>#include<opencv2/opencv.hpp>using namespace cv;namespace Ui {class Client;}class Client : public QMainWindow{    Q_OBJECTpublic:    explicit Client(QWidget *parent = 0);    ~Client();    qint64 blockSize;    QTcpSocket* tcpSocket;    VideoCapture cap;    QTimer* timer;private slots:    void displayError(QAbstractSocket::SocketError);    void requestNewFortune();    void enableGetFortuneButton();    void SendData();private:    Ui::Client *ui;};#endif // CLIENT_H

测试:
这里写图片描述

0 0