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

深度相机获取实时图像总结

问题详情:之前一直把曝光调整到50000,画面一直很流畅,知道领导要求将曝光改成500000时整个程序卡死了

问题解决:

首先怀疑是帧率太低的原因,控制变量后发现不是帧率的问题,看着代码很迷茫,领导就看了我完整的代码,找到了bug,让人恍然大悟。

大家先看看错误代码:calibHMI是我的主类,PICThread是我的线程类

线程创建和触发代码:当发出信号returnResult,就执行displayResult。

    thread=new PICThread();connect(thread, SIGNAL(returnResult(int)), this, SLOT(displayResult(int)));//信号槽
/*信号回调*/
void calibHMI::displayResult(int result)
{Camera.GetGrayImage(gray);if(!gray.empty()){gray.copyTo(grayCopy);cv::resize(grayCopy, grayCopy, cv::Size(gray.cols / 6, gray.rows / 6));qImage = QImage((const unsigned char*)(grayCopy.data),grayCopy.cols, grayCopy.rows,grayCopy.cols * grayCopy.elemSize(),QImage::Format_Grayscale8);// 如果需要,从QImage创建QPixmapQPixmap pixmap = QPixmap::fromImage(qImage);// 或者,直接在QLabel中设置QImage(注意灰度图像不需要rgbSwapped())ui->label_6->setPixmap(QPixmap::fromImage(qImage));}}
void calibHMI::closeEvent(QCloseEvent *event){qDebug("关闭主界面");thread->m_stopRequested = true;}
//线程类
PICThread::PICThread(){}
/*线程循环*/
void PICThread::run()
{int result=0;m_stopRequested = false; // 初始化停止标志为 falsewhile (!m_stopRequested){msleep(500);//延时0.5s 600-1000比较合适emit returnResult(result);  //发送信号}
}
/*线程停止*/
void PICThread::stop()
{m_stopRequested = true;
}void calibHMI::on_pushButton_2_clicked()
{int Expose=ui->lineEdit->text().toInt();int rate =ui->lineEdit_2->text().toInt();Camera.ConfigEyeExpose(hDevice,keVzNLExposeMode_Fix,Expose);if(Camera.SetFrameRate(hDevice,rate)==0){std::cout<<"帧率设置成功!"<<std::endl;}
}void calibHMI::on_pushButton_6_clicked()
{    static SVzNLROIRect sLeftROI = { 0, 1536, 0, 2048 };static SVzNLROIRect sRightROI = { 0, 1536, 0, 2048 };Camera.ConfigDetectROI(hDevice, &sLeftROI, &sRightROI);thread->start();
}void calibHMI::on_pushButton_7_clicked()
{thread->stop();
}

答案:

run()是我的子线主要作用间隔一段时间发送信号触发displayResult,displayResult是在主线程中运行的,包括获取图像和显示图像

最最需要资源的获取图像程序在主线程中苦苦阻塞,那么只要把图线获取写入到run()中即可!并且将usleep(500)删除。

相关文章:

深度相机获取实时图像总结

问题详情&#xff1a;之前一直把曝光调整到50000&#xff0c;画面一直很流畅&#xff0c;知道领导要求将曝光改成500000时整个程序卡死了 问题解决&#xff1a; 首先怀疑是帧率太低的原因&#xff0c;控制变量后发现不是帧率的问题&#xff0c;看着代码很迷茫&#xff0c;领导…...

Nginx限流实践-limit_req和limit_conn的使用说明

注意&#xff1a; 本文内容于 2024-12-07 19:38:40 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;Nginx限流实践。感谢您的关注与支持&#xff01; 一、限流 之前我有记录通过CentOS7定时任务实…...

Unity在运行状态下,当物体Mesh网格发生变化时,如何让MeshCollider碰撞体也随之实时同步变化?

旧版源代码地址&#xff1a;https://download.csdn.net/download/qq_41603955/90087225?spm1001.2014.3001.5501 旧版效果展示&#xff1a; 新版加上MeshCollider后的效果&#xff1a; 注意&#xff1a;在Unity中&#xff0c;当你动态地更改物体的Mesh时&#xff0c;通常期望…...

记一次由docker容器使得服务器cpu占满密码和密钥无法访问bug

Bug场景&#xff1a; 前几天在服务器上部署了一个免费影视网站&#xff0c;这个应用需要四个容器&#xff0c;同时之前的建站软件workpress也是使用docker部署的&#xff0c;也使用了三个容器。在使用workpress之前&#xff0c;我将影视软件的容器全部停止。 再使用workpress…...

前端TS基础

文章目录 一、类型1、定义类型2、any、unknown、never3、基础类型4、联合类型5、交叉类型6、type、typeof7、作用域 二、数据结构1、数组2、元组3、函数类型4、对象类型 三、接口四、泛型五、enum六、断言七、工具1、模块2、namespace3、装饰器4、declare5、运算符6、映射类型7…...

前端面经每日一题day06

Cookie有什么字段 Name&#xff1a;cookie的唯一标识符 Value&#xff1a;与Name对应&#xff0c;存储Cookie的信息 Domain&#xff1a;可以访问cookie的域名 Path&#xff1a;可以访问cookie的路径 Expires/Max-Age&#xff1a;超时时间 Size&#xff1a;cookie大小 Ht…...

SOC,SOH含义区别及计算公式

SOC&#xff0c;SOH含义区别及计算公式 两者结合使用&#xff0c;有助于实现更精确的电池管理&#xff0c;延长电池的使用寿命&#xff0c;并确保电池的高效、安全运行。 1. SOC&#xff08;State of Charge&#xff0c;荷电状态&#xff09;2. SOH&#xff08;State of Health…...

阿里云轻量应用服务器开放端口,图文教程分享

阿里云轻量应用服务器如何开放端口&#xff1f;在轻量服务器管理控制台的防火墙中添加规则即可开通端口&#xff0c;开通80端口就填80&#xff0c;开通443就填443端口&#xff0c;开通3306端口就填3306。阿里云百科网aliyunbaike.com整理阿里云轻量应用服务器端口号开通图文教程…...

嵌入式里的“移植”概念

这里因为最近一年看到公司某项目很多代码上有直接硬件的操作&#xff0c;这里有感而发&#xff0c;介绍移植的概念。 一、硬件 先上一个图&#xff1a; 举个例子&#xff0c;大学里应该都买过开发板&#xff0c;例如st的&#xff0c;这里三个层次&#xff0c; 内核&#xff…...

深入探讨 AF_PACKET 套接字

AF_PACKET 套接字是一种用于直接访问网络接口(即网卡)的套接字类型&#xff0c;通常用于网络数据包捕获和分析。它允许应用程序直接与网络接口卡&#xff08;NIC&#xff09;交互&#xff0c;而不需要通过网络协议栈。从而可以发送和接收以太网帧。它提供了比普通TCP/UDP套接字…...

Redis的哨兵机制

目录 1. 文章前言2. 基本概念2.1 主从复制的问题2.2 人工恢复主节点故障2.3 哨兵机制自动恢复主节点故障 3. 安装部署哨兵&#xff08;基于docker&#xff09;3.1 安装docker3.2 编排redis主从节点3.3 编排redis-sentinel节点 4. 重新选举5. 选举原理6. 总结 1. 文章前言 &…...

CSS系列(1)-- 选择器体系详解

前端技术探索系列&#xff1a;CSS 选择器体系详解 &#x1f3af; 致读者&#xff1a;探索 CSS 选择器的奥秘 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 选择器体系&#xff0c;这是构建优雅样式表的基础。让我们一起学习如何精确地选中并控制网页中的…...

用Python开发打字速度测试小游戏

本文将带你一步步开发一个简单的打字速度测试小游戏,通过随机生成词组并计算用户输入速度,帮助提升打字技能。 一、功能描述 随机生成一段句子,用户需要尽快输入。计时功能,统计用户输入的总时长。对比正确率和速度,给出评分反馈。二、开发环境 语言:Python依赖库:pygam…...

基于gitlab API刷新MR的commit的指定status

场景介绍 自己部署的gitlab Jenkins,并已经设置好联动(如何设置可以在网上很容易搜到)每个MergeRequest都可以触发多个Jenkins pipeline&#xff0c;pipeline结束后会将状态更新到gitlab这个MR上希望可以跳过pipeline运行&#xff0c;直接将指定的MR的指定pipeline状态刷新为…...

服务器数据恢复—LINUX下各文件系统删除/格式化的数据恢复可行性分析

Linux操作系统是世界上流行的操作系统之一&#xff0c;被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统&#xff08;EXT2/EXT3/EXT4/Reiserfs/Xfs&#xff0…...

Spark on Yarn安装配置,大数据技能竞赛(容器环境)

Spark on Yarn模式&#xff0c;即把Spark作为一个客户端&#xff0c;将作业提交给Yarn服务&#xff0c;由于在生产环境中&#xff0c;很多时候都要与Hadoop使用同一个集群&#xff0c;因此采用Yarn来管理资源调度&#xff0c;可以有效提高资源利用率。 环境说明&#xff1a; 服…...

遣其欲,而心自静 -- 33DAI

显然&#xff0c;死做枚举只能的50分。 错了4次总算对了。 大体思路&#xff1a; 因题目说只有两个因数&#xff0c;那么有两种情况&#xff1a; 1&#xff1a;两个质数相乘&#xff0c;如&#xff1a;3*515 5*745 等&#xff08;不包括5*525 或5*315 重复计算\ 因为3*5算了…...

No.25 笔记 | 信息收集与Google语法的实践应用

什么是信息收集&#xff1f; 信息收集&#xff08;Information Gathering&#xff09;是渗透测试的第一步&#xff0c;其目的是通过各种手段收集目标的漏洞和弱点&#xff0c;为后续的攻击策略提供依据。 正所谓“知己知彼&#xff0c;百战百胜”&#xff0c;信息收集的重要性…...

GitLab基础环境部署:Ubuntu 22.04.5系统在线安装GitLab 17.5.2实操手册

文章目录 GitLab基础环境部署&#xff1a;Ubuntu 22.04.5系统在线安装GitLab 17.5.2实操手册一、环境准备1.1 机器规划1.2 环境配置1.2.1 设置主机名1.2.2 停止和禁用防火墙1.2.3 更新系统 二、GitLab安装配置2.1 安装GitLab所需的依赖包2.2 添加GitLab存储库2.2.1 将GitLab存储…...

SpringBoot3配置文件

一、统一配置管理概述: SpringBoot工程下&#xff0c;进行统一的配置管理&#xff0c;你想设置的任何参数(端口号、项目根路径、数据库连接信息等等)都集中到一个固定位置和命名的配置文件(application.properties或application.yml)中 配置文件应该放置在Spring Boot工程的s…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...