上位机图像处理和嵌入式模块部署(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…

Qt散文一

Qt的事件分为普通事件和系统事件,普通事件比如用户按下键盘,系统事件比如定时器事件。事件循环的开始是从main函数的QApplication,然后调用exec()开始的,在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件…

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

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

LLM(大语言模型)常用评测指标-困惑度(Perplexity)

困惑度(Perplexity) 是自然语言处理(NLP)中常用的一种评估语言模型的指标。它衡量的是模型对测试数据的预测能力,即模型对测试集中单词序列出现概率的预测准确度。困惑度越低,表示模型对数据的预测越准确。…

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

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

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/…

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

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

MySQL表字段数据类型设计建议

MySQL表字段数据类型设计建议 前言阿里巴巴Mysql字段类型规范一、数值类型二、日期和时间类型三、字符串类型四、IP存储总结 前言 最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux……

面向对象(下)

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

redis中setnx命令的底层原理是什么

该命令的含义是set if not exists,Redis是单线程的,所有的命令都是串行执行的。而且Redis的SETNX操作是原子的,即使有大量的线程同时发送SETNX命令,Redis也会一个接一个地执行这些命令。也就是说,即使有多个线程同时使用SETNX尝试…

直接码住!引流四大关键要素一定要知道!

在当今流量盛行的时代,要想做好引流工作,就必须了解并掌握引流的四大关键要素,接下来就一起来看看这四大要素分别是什么吧! 1、渠道 选择合适的引流渠道是引流工作中至关重要的一环。不同的产品或服务适合的渠道可能会有所不同&…

(九)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

【Python多进程】的进阶讲解

Python多进程 1. 介绍2. multiprocessing模块的基本用法3. 使用Pool4. 进程间通信5. 进程同步6. Process子类化7. 注意事项及选择 1. 介绍 Python中的多进程是通过multiprocessing模块来实现的,与多线程相比,多进程可以实现真正的并行计算,因…

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

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

python--常用简单功能

os函数获取上层目录 # 获取当前目录 print(os.path.abspath(os.path.dirname(__file__))) # 获取上级目录 print(os.path.abspath(os.path.dirname(os.path.dirname(__file__)))) print(os.path.abspath(os.path.dirname(os.getcwd()))) print(os.path.abspath(os.path.join(o…

execl数据多维度建模(二)

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