首页 > 其他分享 >udp发送上位机(1)

udp发送上位机(1)

时间:2023-08-07 10:15:20浏览次数:38  
标签:src udp img image send 发送 上位 buf size

发送彩色视频RGB888时,在上位机,通过BGR2BGR565转换为16位数据,再传输时加上行号,在DMA里也要对读出的数据进行高低位的变换,组成RGB565格式

如下图所示,在灰度图时将每帧刷新改为了每一行刷新,这是因为在彩色图像时,刷新一帧的时间大于2ms,而灰度时为0.7ms,这就会导致在刷新的时候,新的数据已经在发送了,所以图像会出错,

在改为每行刷新时,由于每行的接收也很快,所以如果带宽变大,也会导致接收问题。是否可以使用ACP口进行通信,直接进行硬件上的缓存一致性处理?

 1 void MainWindow::on_OpenImage_triggered()
 2 {
 3     QString path;
 4 
 5     path = OpenImage();
 6 
 7     if (path.length() > 0)
 8     {
 9         src_image = imread(path.toStdString(),-1);
10 
11         if (src_image.channels() == 3)
12         {
13             cvtColor(src_image, bgr565_image, CV_BGR2BGR565);   //RGB888转BGR565
14         }
15 
16         cv::resize(src_image, scale_image, Size(img_w_size, img_h_size), 0, 0, INTER_LINEAR);
17 
18         dis_image = MatImageToQt(scale_image);
19         pixmap = QPixmap::fromImage(dis_image);
20         ui.img_map->setPixmap(pixmap);
21     
22         img_width = src_image.cols;
23         img_height = src_image.rows;
24 
25         ui.img_w->setText(QString::number(img_width));
26         ui.img_h->setText(QString::number(img_height));
27 
28         ui.prog_bar->setRange(0, 1);
29         ui.prog_bar->setValue(0);
30     }
31 }
 1 void udpthread::run()
 2 {
 3     while (!stopped)
 4     {
 5         if (send_flag == 1)
 6         {
 7             for (int i = 0; i < pkg_num; i++)
 8             {
 9                 memcpy(send_buf, &i, 4);
10                 memcpy(send_buf+4, send_image.data + i*pkg_size, pkg_size);
11                 send(hClient, (const char*)send_buf, pkg_size+4, 0);
12             }
13 
14             head_buf[0] = 0xA0A1A2F0;
15             head_buf[1] = img_index;
16 
17             send(hClient, (const char*)head_buf, 8, 0);
18 
19             send_flag = 0;
20         }
21     }
22 }

 

标签:src,udp,img,image,send,发送,上位,buf,size
From: https://www.cnblogs.com/tuzki9611/p/17610709.html

相关文章

  • 如何在轻量级RTSP服务支持H.264扩展SEI发送接收自定义数据?
    为什么开发轻量级RTSP服务?开发轻量级RTSP服务的目的是为了解决在某些场景下用户或开发者需要单独部署RTSP或RTMP服务的问题。这种服务的优势主要有以下几点:便利性:通过轻量级RTSP服务,用户无需配置单独的服务器,降低了部署和配置的复杂性(无论是走RTMP还是GB28181,均需要平台服务支撑)。......
  • 微信开发之自动发送朋友圈的技术实现
    请求URL:http://域名地址/snsSend请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回 参数:参数名必选类型说明wId是String登录实例标识content是String文本内容groupUser否String对谁可见(传微信id,多个用,分隔)blackList否String对谁不可见(传微信id,......
  • UDP 编程
    UDP编程#include<sys/socket.h>//可以发送或接收一个长度为0的数据报ssize_trecvfrom(intsockfd,void*buf,size_tnbytes,intflags,//常与recvsendrecvmsgsendmsg配合structsockaddr*from,sockl......
  • 微信开发之定时发送朋友圈的技术实现
    请求URL:http://域名地址/snsSend请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回 参数:参数名必选类型说明wId是String登录实例标识content是String文本内容groupUser否String对谁可见(传微信id,多个用,分隔)blackList否String对谁不可见(传微信id,......
  • HttpClient Https请求 基础连接已经关闭,发送时发生错误
    可能有以下几个原因:证书问题:服务端证书无效或者客户端不信任服务器证书会导致握手失败。你需要检查服务端证书是否有效,是否由受信任的证书颁发机构(CA)签署。TLS版本不兼容:服务端只支持较新版本的TLS,而客户端使用的.NET版本较旧,其中包含的TLS版本与服务端不兼容。尝试升级.......
  • 上位机_WPF系列总结(Binding)
    1、绑定到DataContext,并设置绑定模式,<TextBlockWidth="100"Height="50"Text="{BindingEqid,Mode=OneTime}"/>当应用程序启动或数据上下文更改时,更新绑定目标。此绑定类型适用于以下情况:使用当前状态的快照适合使用的或数......
  • 上位机_WPF系列总结(触发器)
    当达到了出发的条件,执行设定的响应,可以是样式、数据变化、动画等。触发器的类型有:Trigger:检测依赖属性的变化,触发器生效<Window.Resources><Stylex:Key="TestStyle"TargetType="Button"><Style.Triggers><TriggerProperty="IsMou......
  • syslog日志发送、接收与展示
    三、展示1.tar-zxvf loganalyzer-3.6.0.tar.gz2. yum -y install httpdphp*cp -r src/* /var/www/html/loganalyzercp -r contrib/* /var/www/html/loganalyzerchown -R daemon.daemon /var/www/html/loganalyzer 通过web向导安装loganalyzer前,......
  • SMTP 通过 ssh 通道发送垃圾邮件
    通过SSH隧道传输SMTP根据设计,我们不允许校外机器使用我们的SMTP服务器。如果我们允许它,我们将允许任何和所有使用我们的SMTP服务器来分发垃圾邮件。但是也可以通过我们的SMTP服务器发送邮件,这种机制称为SMTP隧道。Linux说明1.在Linux机器上安装SSH(默认情况下应该安装)。2.运行以下命......
  • RestTemplate发送HTTP、HTTPS请求
     RestTemplate使用总结 场景:认证服务器需要有个httpclient把前端发来的请求转发到backendservice,然后把backendservice的结果再返回给前端,服务器本身只做认证功能。遇到的问题:长连接以保证高性能。RestTemplate本身也是一个wrapper其底层默认是 SimpleClientHtt......