From 22734fdf13917ca33fd1e222436948ffe1258ff3 Mon Sep 17 00:00:00 2001 From: bmy <2583236812@qq.com> Date: Mon, 27 May 2024 16:00:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=91=E9=80=81rgb=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- capture.cc | 15 ++++++++++++--- main.cc | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/capture.cc b/capture.cc index 0acc082..8d8567a 100644 --- a/capture.cc +++ b/capture.cc @@ -2,9 +2,12 @@ #include #include +#include +#include #include #include #include "logc/log.h" +#include capture::capture(int camera_index, int zmq_port, int width_set, int height_set, int fps_set) { @@ -34,7 +37,8 @@ capture::capture(int camera_index, int zmq_port, int width_set, int height_set, context = new zmq::context_t(1); socket = new zmq::socket_t(*context, ZMQ_PUB); - + int hwm = 10; + socket->setsockopt(ZMQ_SNDHWM, &hwm, sizeof(hwm)); char zmq_bind_port[10] = {0}; sprintf(zmq_bind_port, "%d", port); strcat(zmq_bind_addr, zmq_bind_port); @@ -57,6 +61,7 @@ void capture::start(void) void capture::run(void) { + cv::Mat dst; while (1) { *cap >> frame; @@ -72,11 +77,14 @@ void capture::run(void) frame = frame.clone().reshape(1, frame.total()); } + cv::cvtColor(frame, dst, cv::COLOR_BGR2RGB); + // cv::imshow(zmq_bind_addr, frame); // 将帧编码后发送 - std::vector buff; - cv::imencode(".jpg", frame, buff); + std::vector + buff; + cv::imencode(".jpg", dst, buff); zmq::message_t message(buff.size()); memcpy(message.data(), buff.data(), buff.size()); socket->send(message, zmq::send_flags::none); @@ -95,6 +103,7 @@ void capture::run(void) // socket->send(frame_msg, zmq::send_flags::none); // 在这里添加一些延迟,以控制帧率 cv::waitKey(1); + // usleep(20000); } } diff --git a/main.cc b/main.cc index 56a70f6..32fc534 100644 --- a/main.cc +++ b/main.cc @@ -48,7 +48,7 @@ int main(int argc, char **argv) capture cap2(server_2_index.u.i, server_2_port.u.i); cap0.start(); - // cap1.start(); + cap1.start(); cap2.start(); while (1)