上位机图像处理和嵌入式模块部署(qmacvisual之ROI设定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        ROI,全称是region of interest,也就是感兴趣区域。这里面一般分成两种情况,一种是所有的算法都依赖于这个ROI,那么这个时候最好直接把图像裁剪一下。因为安装的时候,可能camera的视场角比较大,但是实际有效的数据范围并没有那么大,所以这个时候裁剪一下图片其实是不错的选择,还能提高图像的处理效率,毕竟处理的数据量一下子小了很多。另外一种,就是特定算法的ROI,这种情况下就不需要裁剪图片了,直接在某一种算法下面设定ROI区域就行。

1、裁剪图片

        在qmacvisual下面,裁剪图片的插件位于【图像处理】-》【剪切图像】。它的用途,就是直接对输入的图像进行裁剪。因为安装的缘故,或者希望提高处理效率的原因,这种裁剪在很多情况下,都是很有必要的。单击一下插件,你就可以看到这样的弹窗,

        需要配置的地方有两处,一处是输入图像,就是截图里面的输入图像。还有一处就是ROI对象中的配置,选中使用ROI,添加对应的图形就可以。目前选择的方式总共有四种,分别是矩形、旋转矩形、圆形和多边形。

        我们以矩形为例,单击后就会在右侧的窗口中出现一个矩形。这个时候如果需要移动矩形的位置,先把鼠标move到中间实心正方形的位置,按下去自由移动就可以了。

2、单个算法的ROI设置

        除了上面说的这种图片裁剪的方法,还有一种处理就是只在单个插件中,对区域进行设置。这种设置一般是来自于现场处理的情况来处置,多半来自于行业背景知识或者是积累的经验数值。比如说【轮廓特征选择】中的ROI设置,它的截图就是这样的,

        我们发现这部分设置和之前的裁剪图片是非常相似的。一样的勾选框,一个的图形选择,还有一样的按钮选择。可以添加ROI,也可以删除ROI。当然这种区域的选择,一般需要和客户进行沟通和商量,本身就是一些经验数值,需要进行单独标定的。并且不同的行业,不同的使用者,在什么地方标注兴趣区域,怎么标定兴趣区域,这都是有门道和说法的。对于图像算法的开发同学来说,他只需要提供相关的功能就好了。

3、qmacvisual留下的一个遗憾

        还有一个功能,qmacvisual没有提供,蛮遗憾的,但是实际生产中确实用蛮多的。那就是图片的缩小。现在的sensor拍摄的图片普遍像素都很高,图片也很大。这种情况下我们需要的可能不是兴趣区域,而是需要把原来的图像进行缩小处理,比如图片缩小为原来的1/4、1/9等等。只要原来的图片自带的信息量足够就可以。但是目前为止,在qmacvisual没有找到相关的功能。这意味着,如果需要这个功能,就要自己去单独设计和开发了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins中使用Generic Webhook Trigger插件实现持续集成

项目环境 宝塔Linux面板DockerJenkinsgitee 目的 实现每次push推送dev分支到gitee上,Jenkins自动构建项目;push其它分支时,不运行。 实现方法 1.在Jenkins上安装Generic Webhook Trigger插件 在“系统设置–插件管理–可选插件”界面搜…

第390场 LeetCode 周赛题解

A 每个字符最多出现两次的最长子字符串 滑动窗口&#xff1a;枚举窗口的左边界&#xff0c;尽可能右移窗口的右边界。 (当然也可以暴力枚举) class Solution { public:int maximumLengthSubstring(string s) {vector<int> cnt(26);int res 0;for (int l 0, r -1, n s…

构建以太网交换网络——(生成树实验)

实验介绍 关于本实验 以太网交换网络中为了进行链路备份&#xff0c;提高网络可靠性&#xff0c;通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路&#xff0c;引发广播风暴以及MAC地址表不稳定等故障现象&#xff0c;从而导致用户通信质量较差&#xff0c;甚至…

C语言 数组指针 指针数组

指针数组 什么是指针数组&#xff0c;他是一个数组&#xff0c;数组的元素是指针。但是指针也有多种数据类型&#xff0c;有数组指针、函数指针、整形指针、字符串指针。 现在我就使用函数指针来写代码&#xff0c;也就是函数指针数组的应用代码&#xff1a; #include <s…

Vscode按键占用问题解决

Vscode按键占用 在使用vscode的过程中&#xff0c;官方按键 Ctrl . 按键可以提示修复代码中的问题&#xff0c;但是发现按了没有反应。 解决问题 首先确认vscode中是否设置了这个按键&#xff0c;默认设置了的系统输入法中是否有按键冲突了&#xff0c;打开输入法设置检查 …

[iOS]GCD(一)

[iOS]GCD(一) 文章目录 [iOS]GCD(一)GCD的概要GCD的APIDispatch Queuedispatch_queue_createMain Dispatch_set_target_queuedispatch_afterDispatch Groupdispatch_barrier_asyncdispatch_applydispatch_applydispatch_suspend/dispatch_resumeDispatch Semaphoredispatch_onc…

MQ高级篇---消息可靠性

MQ的一些常见问题 后面内容基于springboot 2.3.9.RELEASE 消息可靠性 生产者确认机制 在publisher微服务中application.yml中添加 spring:rabbitmq:publisher-confirm-type: correlatedpublisher-returns: truetemplate:mandatory: true每个RabbitTemplate只能配置一个Return…

【计算机网络】启程

&#x1f4dd;本文介绍 本文为计算机网路系列的开始篇&#xff0c;会介绍一下使用的书籍和自己做的思维导图。 &#x1f44b;作者简介&#xff1a;一个正在积极探索的本科生 &#x1f4f1;联系方式&#xff1a;943641266(QQ) &#x1f6aa;Github地址&#xff1a;https://githu…

Rust下载安装、卸载、版本切换、创建项目(包含指定版本的)

先声名一下&#xff0c;下面所说的版本号为xxxxx-x86_64-unknown-linux-gnu中xxxxx的部分。 下载安装 下载最新版本的Rust&#xff1a; curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh info: downloading installer重启shell 或者 按照提示 执行命令让环境变…

codeTop:二叉树最大深度

属于二叉树遍历的变形&#xff0c;这里使用DFS的递归方式 最大深度就是 max(左子树最大深度 ,右子树最大深度) 1&#xff0c; 而计算左/右子树最大深度可以用相同的算法。 public int maxDepth(TreeNode root) { if(root null){return 0; } int lh maxDepth(root.left); in…

ConcurrentHashMap 为什么是线程安全的?

1、典型回答 ConcurrentHashMap 在不同JDK 版本中&#xff0c;保证线程安全的手段是不同的&#xff0c;它主要分为以下两种情况&#xff1a; JDK 1.7 之前(包含JDK 1.7)&#xff0c;ConcurrentHashMap 主要是通过分段锁 (Segment Lock) 来保证线程安全的。而在JDK 1.8 之后(包…

【数据结构和算法初阶(C语言)】二叉树的链式结构--前、中、后序遍历实现详解,节点数目计算及oj题目详解---二叉树学习日记③

1.二叉树的链式存储 二叉树的链式存储结构是指&#xff0c;用链表来表示一棵二叉树&#xff0c;即用链来指示元素的逻辑关系。 通常的方法是 链表中每个结点由三个域组成&#xff0c;数据域和左右指针域&#xff0c;左右指针分别用来给出该结点左孩子和右孩子所 在的链结点的存…

Qt——2D画图

基础画图函数 矩形 painter.drawRect(50,50,200,100); 圆角矩形 painter.drawRoundRect(50,50,200,200,50,50); xRadius和yRadius分别以矩形宽度和高度的一半的百分比指定&#xff0c;并且应该在0.0到100.0的范围内 弧线 painter.drawArc(50,50,200,200, -90*16, 90*16);…

ubuntu18安装opensips3.4,开启ws/wss/http接口模块

、如果是centos 7安装则使用yum 命令。 添加库地址注意系统类型&#xff0c;选择对应的系统类型和版本 curl https://apt.opensips.org/opensips-org.gpg -o /usr/share/keyrings/opensips-org.gpg echo "deb [signed-by/usr/share/keyrings/opensips-org.gpg] https:/…

neo4j所有关系只显示RELATION,而不显示具体的关系

当看r时&#xff0c;真正的关系在properties中的type里&#xff0c;而type为“RELATION” 造成这个的原因是&#xff1a; 在创建关系时&#xff0c;需要指定关系的类型&#xff0c;这是固定的&#xff0c;不能像属性那样从CSV文件的一个字段动态赋值。标准的Cypher查询语言不支…

人工智能之Tensorflow变量作用域

在TensoFlow中有两个作用域&#xff08;Scope&#xff09;&#xff0c;一个时name_scope ,另一个是variable_scope。variable_scope主要给variable_name加前缀&#xff0c;也可以给op_name加前缀&#xff1b;name_scope给op_name加前缀。 variable_scope 通过所给的名字创建或…

Stable diffusion(四)

训练自己的Lora 【DataSet】【Lora trainer】【SD Lora trainer】 前置的知识 batch size&#xff1a;模型一次性处理几张图片。一次性多处理图片&#xff0c;模型能够综合捕捉多张图片的特征&#xff0c;最终的成品效果可能会好。但是处理多个batch size也意味着更大的显存…

nvm更换node.js的版本

自行下载nvm 打开cmd 1. nvm ls 列出目前已经下载的node版本&#xff0c;和正在使用的node版本 2. nvm install v版本号 下载某个版本 3. nvm uninstall v版本号 卸载某个版本 4. nvm use 版本号 切换到某个版本

深入理解栈和队列(二):队列

个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《数据结构》 一、队列的概念和结构 队列是只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 FIFO(First In First Out) 入队列&#xff1a;进行插入操作的…

吴恩达2022机器学习专项课程(一) 3.5 可视化成本函数

问题预览 为什么要可视化成本函数&#xff1f;可视化之后的成本函数是什么样子&#xff1f;如何在三维空间里通过w和b找到一个成本函数的值&#xff1f;如何在三维空间里找到成本函数的最小值&#xff1f; 解读 可视化成本函数&#xff1a;为了更加方便的看到不同的w和b&…