OpenCV相机标定完全指南(有手就行)

这篇具有很好参考价值的文章主要介绍了OpenCV相机标定完全指南(有手就行)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

--Neozng[neozng1@hnu.edu.cn]

此教程将会教会你如何使用opencv提供的例程进行相机的标定,并且是利用相机拍摄的视频进行实时标定.若是提前拍摄照片然后利用照片标定,需要自行阅读官方的教程,并in_VID5.xml中的注释进行修改.

首先你需要安装opencv,教程戳这里:全网最详细的各种opencv安装教程

若是从源码编译安装完opencv后,以C++为例,进入你编译opencv的文件夹,将sample->cpp->example_cmake下的CMakeLists.txt拷贝到sample->cpp(python)->tutorial_code->calib3d->camera_calibration 。

若你是直接从源仓库安装预编译版本,或是用openvino自带的opencv,笔者这里也有一套可以直接使用的源代码,戳这里下载:链接稍候补充

OpenCV相机标定完全指南(有手就行)

拷贝此CMakeLists.txt

OpenCV相机标定完全指南(有手就行)

 打开CMakeLists.txt,修改add_exacutable()处的example.cpp为camera_calibration.cpp:

OpenCV相机标定完全指南(有手就行)

随后你需要打印一个标定板,这篇教程会教你如何DIY标定板的参数:create calibration pattern

接下来根据你的标定板样式,对in_VID5.xml进行设置,如果你是一个新手,你只需要关注以下几个参数:

OpenCV相机标定完全指南(有手就行)

  1.  第一个是标定板的长度和宽度,对于CIRCLE_GRID,横纵向分别有几个圆,Width和Height就分别是多少,特别注意,对于棋盘格,此参数代表的是角点个数而不是格子个数.
  2. 第二个是尺度大小,如果你的标定板参数是自己设定的,要把此参数设定成和你生成的标定板一模一样,否则导致参数异常.
  3. 第三个是标定板类型,你生成了什么类型的标定板,就用选对应的类型,注释中有对应的参数,复制下来替换就ok.(CIRCLE_GRID,ASYMMETRIC_CIRCLE,CHESSBOARD)
  4. 第四个是标定数据来源,我们稍后将使用相机的实时拍摄视频进行标定,将此参数改为已经连接的相机的id(一般为0).若你希望用照片进行标定,则将此参数设为照片路径合集,即当前文件夹下的VID5.xml,并且你需要将用于标定的照片的路径全部放入VID5.xml中;用视频则直接填入视频的路径)。
  5. 第五个是用于标定的图片总数,一般来说拍摄的角度越多||不同距离的照片越多得到的标定结果越准确.
  6. 最后一个是输出的相机内参文件名.

修改好之后保存即可,马上在当前文件夹打开一个终端

cmake . # 生成makefile
make    # 编译
./opencv_example in_VID5.xml #执行程序

此时将会打开相机,显示其拍摄的画面,将相机对准标定板,会有负片的效果(反色),说明找到了标定板.在此界面上按下g开始标定,当右下角的计数达到你设置的数量时标定结束,终端中会输出此次标定的结果,根据重投影误差和显示画面的畸变程度我们可以判断标定的效果.

OpenCV相机标定完全指南(有手就行)

标定进行中(图片待补充)

文章来源地址https://www.toymoban.com/news/detail-409820.html

到了这里,关于OpenCV相机标定完全指南(有手就行)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里P7告诉你,接口测试真的很简单,有手就行

      所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、安全以及性能方面的要求。 1、相比系统测试,更早介入测试,

    2024年02月16日
    浏览(45)
  • 一键将 Laf 迁移到 Sealos 云开发(Sealaf),有手就行!

    Laf 云开发最近已正式与 Sealos 融合,成为 Sealos 云开发(Sealaf) ,Sealaf 继承了 Laf 的核心功能,默认配置专用数据库,拥有 更好的稳定性 ,未来我们会将迭代重心转向 Sealaf,强烈建议将 Laf 上的应用 立刻迁移 至 Sealaf! 可联动丰富应用生态 :Sealos 应用市场中有丰富的应用

    2024年04月11日
    浏览(37)
  • 【HaaS Python硬件积木】AS608指纹识别模块 打造指纹门禁 开门有手就行

    ATK-AS608指纹识别模块是ALIENTEK推出的一款高性能的光学指纹识别模块。它采用的是指纹识别芯片公司杭州晟元芯片技术有限公司生产的AS608指纹识别芯片。该芯片内置DSP运算单元,集成了指纹识别算法,能高效快速采集图像并对指纹特征进行识别。 该模块配备了串口和USB接口

    2024年02月05日
    浏览(47)
  • 分享三个AI绘画工具:不用懂编程,不用会英语,有手就行(基于Stable-diffusion)

    01 | 最简单的工具:krita+Stable-diffusion 我最先用的是krita+Stable-diffusion插件,也是使用起来最简单的。 krita是一个类似Photoshop的图片处理软件,安装一个Stable-diffusion插件,就可以krita中用提示词来生成图片。 界面就是这个样子的,软件和插件都安装好以后,在提示词区域输入提

    2024年04月26日
    浏览(41)
  • spring boot 配合element ui vue实现表格的批量删除(前后端详细教学,简单易懂,有手就行)

    目录 一.前言: 二. 前端代码: 2.1.element ui组件代码   2.2删除按钮 2.3.data 2.4.methods 三.后端代码: 研究了其他人的博客,找到了一篇有含金量的,进行了部分改写实现前后端分离,参考博主为小白Rachel 先看看页面效果,要是符合你们所需的功能那就继续看下去         1406

    2024年02月04日
    浏览(69)
  • 【22.06.03】青龙面板有手就行教学 指令+依赖+容器+脚本编辑+定时设定+秒拉库+XDD-PLUS通知详解

    --------------------------------------------------------------------------------------------------------- HOST修改 可以直连 Github 方便以后库连接 使用 Final Shell  打开:/etc/hosts 在最后面添加 13.114.40.48 github.com 13.114.40.48 github.global.ssl.fastly.net 13.114.40.48 nodeload.github.com 13.114.40.48 api.github.com 13.114.40.48

    2024年02月05日
    浏览(64)
  • 录有手就行1、吃金币2、打乒乓3、滑雪4、并夕夕版飞机大战5、打地鼠简简单单6、小恐龙7、消消乐8、俄罗斯方块9、贪吃蛇普普通通10、24点小游戏

    1、吃金币 【有手就行系列不介绍玩法了+附源码】 源码分享:   import os import cfg import sys import pygame import random from modules import *     \\\'\\\'\\\'游戏初始化\\\'\\\'\\\' def initGame():     # 初始化pygame, 设置展示窗口     pygame.init()     screen = pygame.display.set_mode(cfg.SCREENSIZE)     pygame.display.set_capt

    2024年03月21日
    浏览(52)
  • AutoGPT:有手就会的安装教程

    Auto-GPT 是一个实验性开源应用程序,展示了 GPT-4 语言模型的功能。该程序由 GPT-4 驱动,将 LLM 的“思想”链接在一起,以自主实现您设定的任何目标。作为 GPT-4 完全自主运行的首批示例之一,Auto-GPT 突破了 AI 的可能性界限。 AutoGPT 是 github 上最火的 GPT 项目,目前已有 124k 的

    2024年02月03日
    浏览(41)
  • 有手就会做!保姆级Jmeter分布式压测操作流程(图文并茂)

    保证本机和执行机的JDK和Jmeter版本一致 配置Jmeter环境变量 配置Jmeter配置文件 上传每个执行机服务jmeter chmod -R 755 apache-jmeter-5.1.1/ 执行机配置写自己的ip 控制机配置所有执行机ip,把server.rmi.ssl.disable改成true 将本机也作为压力机 启动jmeter-server.bat 执行机执行jmeter-server 打开控制

    2024年03月18日
    浏览(47)
  • 相机标定-机器视觉基础(理论推导、Halcon和OpenCV相机标定)

             相机标定是获得目标工件精准坐标信息的基础。首先,必须进行相机内参标定,构建一个模型消除图像畸变;其次,需要对相机和机器人的映射关系进行手眼标定,构建一个模型将图像坐标系上的点映射到世界坐标系。主要分为背景知识、相机内外参模型推导、

    2023年04月21日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包