cvi linux qt,基于Qt的tcp客户端和服务器实现摄像头帧数据处理(客户端部分)

本文介绍了一个基于Qt的TCP客户端项目,用于调用摄像头并实时传输每一帧到服务器。客户端通过Qt Designer创建界面,使用QTcpSocket进行通信,OpenCV获取和处理图像。当与服务器连接成功后,客户端发送图像数据,服务器处理后再返回结果。
摘要由CSDN通过智能技术生成

项目简述

实现客户端调用摄像头,并以帧的形式将每一帧传输到服务端,服务端将图片进行某些处理后再返回给客户端。(客户端与服务端通信代码部分参考《Qt5 开发及实例》)

项目步骤

客户端的编写

通过Qt Designer画出如下界面

42feee851c1e51f3e663fbf9e3bdd387.png

在客户端工程文件“client、pro”中加入 QT += network语句,并将环境路径配置好。

在头文件“client.h”中加入如下代码:

f12d4a9165be0c481992f693fe5165bc.png

45d4990ca000170a06f9b53d87e16a39.png

1 class Client : public QWidget

2 {

3 Q_OBJECT

4

5 public:

6 explicit Client(QWidget *parent = 0);

7 ~Client();

8

9 private slots:

10 void slotEnter();

11 void slotConnected();

12 void slotDisconnected();

13 void dataReceived();

14 void slotSend();

15 void nextFrame();

16 signals:

17 void connectedToServer(void);

18

19 private:

20 Ui::Client *ui;

21 bool status;

22 int port;

23 QHostAddress *serverIP;

24 QString userName;

25 QTcpSocket *tcpSocket;

26

27 qint64 receiveBlockSize;

28

29 Mat frame;

30 VideoCapture cap;

31 QTimer* timer;

32 QImage image;

33

34 void ShowImage(QByteArray ba);

35 QByteArray picToData(cv::Mat frame);

36 QImage Mat2QImage(cv::Mat cvImg);

37 };

View Code

在源文件“client.cpp”的构造函数中加入如下代码:

f12d4a9165be0c481992f693fe5165bc.png

45d4990ca000170a06f9b53d87e16a39.png

1 Client::Client(QWidget *parent) :

2 QWidget(parent),

3 ui(new Ui::Client)

4 {

5 ui->setupUi(this);

6

7 setWindowFlags(windowFlags()&~Qt::WindowMaximizeButtonHint);

8 setFixedSize(this->width(),this->height());

9

10 status=false;

11 port=8010;

12 ui->portLineEdit->setText(QString::number(port));

13

14 serverIP&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值