上位机图像处理和嵌入式模块部署(qmacvisual畸变矫正)

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

        大部分同学在开始做计算机图像的时候,是没有意识到畸变矫正这个问题的。当然不仅仅是畸变矫正,很多同学还会忽略光源的问题。他们自然地以为,摄像头拍出来的图像就应该是这样的。但事实上并非如此,好的图像需要光源的配合,而且很多摄像头拍摄出来的图像也是不能直接使用的,比如大家在汽车上面看到的鱼眼镜头,这些图像都是不能直接使用的,需要用标定板进行标定之后才能使用的。

        正好qmacvisual软件提供了软件标定的功能,我们也来学习一下。

1、标定需要做哪些

        要做好摄像头的标定,那么就需要一个标定板。在摄像头之前的各个角落和只能够中间,依次放置,这样就拿到了基本的标定图片。基于这些图片就可以对camera进行标定了。当然,这个标定板上面一般都会有棋盘格信息或者是有斑点的图案,这些都是已知的条件。并且,这些标定板上面的图案都是横平竖直的。这就意味着,如果图像上的棋盘格或者是斑点被识别之后,但是中间的连线发生了明显的弯曲,这就是说,我们可以用标定板对camera进行标定处理了。

2、标定板长什么样

        标定板一般是棋盘格,或者是斑点,今天用到的图片都是基于斑点的,

3、利用qmacvisual对图像进行标定处理

        本身qmacvisual软件已经支持对camera进行标定处理。获得标定参数之后,后续使用的每个图片,都可以先畸变矫正,然后再进行后续算法的处理。当然,标定之前,需要先创建一个工程,然后创建一个流程,这都是少不了的。接着开始标定,标定的插件位于树形控件里面的【标定工具】-》【畸变标定】。双击之后,界面应该是这样的,

        这里面有一些参数需要设置。文件夹路径就是采集的标定图片。剩下来的就是圆最小面积和圆最大面积设定。这两个参数设置非常重要,可以搭配Block参数按钮一起使用,确保算法可以认识到图片中的49个黑点。最后就是配置标定结果文件的保存路径位置。全部设置后,应该是这样的,

        这个时候如果不是很放心,可以依次单击Blob参数按钮,确保算法识别所有的黑点信息,相关输出可以在另外一个tab里面看到。不出意外的话,单击一次,你可以看到这样的效果,

        输出信息提示我们找到了49个黑点,并且每个黑点还标注了颜色。如果所有的图片都没有问题,直接单击执行按钮,就可以开始标定的过程了。标定结束了,相关的标定文件就写好了。截图是这样的,

        在tab2的输出显示当中,可以看到更多的信息,效果如下图所示。当然最重要的还是par_calib.xml文件。

        另外一个图像校正的按钮,则可以让我们一张一张地去看图像校正的效果,比如这一张,

        相比较原来的图片,有一个明显的地方,算法做了矫正。比如左上角的时间信息,之前肯定不是这个样子的,也说明标定确实起了效果。在现实生活中,标定的方法很多。用matlab工具来进行图像标定也是不错的一个选择。

4、如何使用标定文件

        有了标定文件,后续读取图片的时候,如何利用这些标定的参数对图像进行标定呢?其实相关的设置一直都在,只是我们自己没有去进行配置而已。大家打开获取图像的tab2页面,选择刚才生成的par_calib.xml文件就可以了,

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

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

相关文章

python异常:Exception、BaseException接收异常,并打印异常信息msg

except IOEerror 只能接收到 IO 类型的错误,对于抛出的 NameError 类型的错误,在 Python 中所有的异常类都继承 Exception,所以我们可以使用它来接收所有的异常。 1.Exception接收异常 源码: open("test1.py",r) pr…

4款智能文章生成器推荐,为你创作文章效率高

智能文章生成器的出现为创作者带来了很多方便,尤其是在当今信息爆炸的时代,内容创作已经成为许多人日常工作中不可或缺的一部分。无论是博客、新闻报道、营销文案还是学术论文,高质量的文章往往需要耗费大量的时间和精力来撰写。但有了智能文…

固态硬盘格式化后怎么恢复 固态硬盘被格式化后如何恢复

你知道吗,固态硬盘被格式化后,还有一线生机可以让你把数据找回来!固态硬盘被格式化后如何恢复?不要慌张,我们来一步一步地看看该怎么做。首先,你需要知道格式化并不是真正意义上的删除数据,而是把硬盘上的文件系统清空,让数据变得不可见。所以,只要你没有在格式化后往…

Linux —— 定时任务(sleep、crontab、at)

目录 1、使用 sleep 来完成定时任务 2、使用 crontab 来进行定时任务 3、使用 at 来执行单次的定时任务 1、使用 sleep 来完成定时任务 sleep n 等待 n 秒再继续往后执行 usleep n 等待 n 微秒再继续往后执行(1 秒等于 1 000 000 微秒&#xf…

uniapp使用Echarts图表H5显示正常 打包app显示异常

uniapp使用Echarts在H5页面调试 调试完在H5正常显示 然后通过安卓机调试的时候 发现直接空白了 还有这个爆错 Initialize failed: invalid dom 我有多个图表、图表是通过v-for循环出来的 解决方案 原来是yarn直接安装Echarts 然后改成本地JS文件引入 gitbub文件地址 — dist/…

二十几岁的我们:在旷野中找寻自我

二十几岁,这是一个充满变数、充满机遇和挑战的年纪。它如同一片辽阔的旷野,每个人都在其中寻找自己的方向,摸索着自己的道路。这是一个既令人兴奋又令人迷茫的年纪,我们穿着不同的鞋子,注定要走不同的路。 在这个年纪里…

面向对象(下)

目录 01、static1.1、static的使用1.2、static应用举例1.3、单例(Singleton)设计模式 02、main方法的语法03、类的成员之四:代码块04、关键字:final05、抽象类与抽象方法5.1、多态的应用:模板方法设计模式(TemplateMethod) 06、接口(interfac…

(九)Android布局类型(约束布局ConstraintLayout)

约束布局(ConstraintLayout)与相对布局差不多,是创建一个应用后默认的布局方式,比相对布局更加灵活,一般用于平铺的布局(不适用于层叠布局),常用于托拖拽方式构建页面,最…

第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南》

第五篇:第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南 --- 我为什么要翻译介绍美国人工智能科技公司IAB系列技术标准(2) ​​​​​​​翻译计划 第一篇序言第二篇简介和目录第三篇概述- IA…

由浅到深认识C语言(2):C语言的类型及语句

该文章Github地址:https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn…

pr画中画模板视频素材

pr画中画视频模板,视频聊天对话模板。软件支持:Premiere Pro 2021或更高版本。 来自:pr模板网,下载地址:https://prmuban.com/38196.html

代码随想录算法训练营第day26|39. 组合总和、 40.组合总和II、 131.分割回文串

39. 组合总和 力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 ta…

execl数据多维度建模(二)

源数据 1.选择数据 1)插入透视表 选中源数据的数据区域--插入--数据透视表(新的工作表名:透视表) 2)透视表设置 ShipCountry拉入行标签;CategoryName拉入列标签;sales拉入值的位置 3&#xf…

计算机二级Python题目12

目录 1. 基础题 1.1 基础题1 1.2 基础题2 1.3 基础题3 2. turtle画图题 3. 大题 3.1 大题1 3.2 大题2 1. 基础题 1.1 基础题1 sinput("请输入一个小数:") ss[::-1] cs0 for c in s:if c.:breakcseval(c) print({:*>10}.format(cs)) 1.2 基础…

CPU生产的生命周期 - 原材料篇

CPU是中央处理器的缩写,它是执行程序指令的电子电路。CPU使用的基本原材料是硅、铜、铝和各种塑料。由于CPU在现代社会中被大量消耗,因此生产商必须考虑原材料的能源投入和环境影响。 硅是地壳中第二丰富的元素。它以二氧化硅和硅酸盐的形式存在。二氧化…

Linux——进程通信(二) 匿名管道的应用:进程池

前言 之前我们学习了进程通过匿名管道进行通信,实现了两个进程的数据传输。 如果我们管理的是很多个进程,通过管道发送指令,因为如果管道中没有数据,读端必须等待,也就是被管理的进程们都在等待我发送的指令&#xf…

CVE-2024-24112 XMall后台管理系统 SQL 注入漏洞分析

------作者本科毕业设计项目 基于 Spring Boot Vue 开发而成...... [Affected Component] /item/list /item/listSearch /sys/log /order/list /member/list (need time-based blind injection) /member/list/remove 项目下载地址 Exrick/xmall: 基于SOA架构的分布式…

cesium viewer camera flyto

一、viewer的flyTo内部调用的是camera的相关定位方法,针对不同的定位对象,计算出合适的位置和相机视角。viewer可以定位到entity、dataSource、Cesium3DTileset、ImageLayer等。 var rect [116.490401, 39.964771, 116.499623, 39.977102];var heading …

2024全国水科技大会:【协办单位】山东文远环保科技股份有限公司

山东文远环保科技股份有限公司坐落于千年古城齐国故都--临淄。初始成立于2011年,是淄博市首批国有资本参股的混合改制企业。 公司着力打造环保设备制造、环保工程及服务、环保水务/固废处理/新能源项目投资及运营管理、固废循环经济产业园等四大板块。是一家集投资、…

Elasticsearch8.x版本Java客户端Elasticsearch Java API 如何并发修改

前言 并发控制,一般有两种方案,悲观锁和乐观锁,其中悲观锁是默认每次更新操作肯定会冲突,所以每次操作都要先获取锁,操作完毕再释放锁,适用于写比较多的场景。而乐观锁是默认每次更新操作都不会冲突&#…