方框标定代码

import numpy as np import cv2 import glob # 1. 准备标定板参数 chessboard_size = (7, 10) # 内角点数量 square_size = 13.0 # 毫米 # 2. 生成世界坐标系中的3D点 objp = np.zeros((chessboard_size[0]*chessboard_size[1], 3), np.float32) objp[:, :2] = np.mgrid[0:chessboard_size[0], 0:chessboard_size[1]].T.reshape(-1, 2) * square_size # 3. 存储对象点和图像点 objpoints = [] # 3D点 imgpoints = [] # 2D点 # 4. 读取所有标定图像 images = glob.glob('D:/DeepLearning/datasets/clibration/rect/*.png') image_size = None for fname in images: img = cv2.imread(fname) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) if image_size is None: image_size = gray.shape[::-1] # 查找棋盘格角点 ret, corners = cv2.findChessboardCorners(gray, chessboard_size, None) if ret: objpoints.append(objp) # 亚像素精确化 corners2 = cv2.cornerSubPix(gray, corners, (11,11), (-1,-1), (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)) imgpoints.append(corners2) # 可视化角点 cv2.drawChessboardCorners(img, chessboard_size, corners2, ret) cv2.imshow('Corners', img) cv2.imwrite("this.png",img) cv2.waitKey(500) cv2.destroyAllWindows() # 5. 相机标定 ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, image_size, None, None) print("相机内参矩阵:\n", mtx) print("\n畸变系数:", dist.ravel()) # 6. 评估标定误差 mean_error = 0 for i in range(len(objpoints)): imgpoints2, _ = cv2.projectPoints(objpoints[i], rvecs[i], tvecs[i], mtx, dist) error = cv2.norm(imgpoints[i], imgpoints2, cv2.NORM_L2)/len(imgpoints2) mean_error += error print("\n平均重投影误差: {} 像素".format(mean_error/len(objpoints))) # 7. 保存标定结果 np.savez('calibration_result.npz', mtx=mtx, dist=dist)

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

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

相关文章

揭秘TCP/IP协议栈:网络通信的核心架构

TCP/IP协议栈深度解析技术文章大纲引言简要介绍TCP/IP协议栈的历史背景、重要性及其在现代网络通信中的核心作用。TCP/IP协议栈的分层结构详细说明TCP/IP的四层模型(应用层、传输层、网络层、链路层)及其与OSI七层模型的对比。链路层(数据链路…

揭秘TCP/IP协议栈:网络通信的核心架构

TCP/IP协议栈深度解析技术文章大纲引言简要介绍TCP/IP协议栈的历史背景、重要性及其在现代网络通信中的核心作用。TCP/IP协议栈的分层结构详细说明TCP/IP的四层模型(应用层、传输层、网络层、链路层)及其与OSI七层模型的对比。链路层(数据链路…

捕捉瞬息万变的电信号世界:Waverunner力科610Zi示波器深度解读

156/2558/3328产品概述:在电子工程师的实验室里,每一块电路板的心跳与脉动——那些高速流动、转瞬即逝的电信号——决定了产品的性能与成败。如何精准“看见”并理解这些复杂的信号,尤其是捕捉那些隐蔽极深、稍纵即逝的异常?力科&…

vscode的几个版本说明

Stable稳定版(蓝色版)、Insider内测版(绿色版)、Exploration探索版(橙色版)橙色版目前只提供给VSCode开发团队使用,而绿色版的核心价值在于“抢先体验前沿功能”。绿色版1.默认支持 Copilot X 全功能;2.终端增强:多面板拆分与实时预览&#x…

存储技术全景:从基础原理到未来趋势

系统存储机制深度剖析技术文章大纲存储基础概念与分类存储介质类型(机械硬盘、固态硬盘、非易失性内存等)存储层次结构(寄存器、缓存、主存、外存)存储访问方式(随机访问、顺序访问)物理存储机制磁盘结构&a…

存储技术全景:从基础原理到未来趋势

系统存储机制深度剖析技术文章大纲存储基础概念与分类存储介质类型(机械硬盘、固态硬盘、非易失性内存等)存储层次结构(寄存器、缓存、主存、外存)存储访问方式(随机访问、顺序访问)物理存储机制磁盘结构&a…

C++跨平台开发:挑战与解决方案

C跨平台开发的核心挑战平台差异性处理 硬件架构差异(x86/ARM等)导致的内存对齐、字节序问题 操作系统API差异(Windows/Linux/macOS系统调用、文件路径等) 编译器兼容性问题(GCC/Clang/MSVC对C标准的支持程度不同&#…

C++跨平台开发:挑战与解决方案

C跨平台开发的核心挑战平台差异性处理 硬件架构差异(x86/ARM等)导致的内存对齐、字节序问题 操作系统API差异(Windows/Linux/macOS系统调用、文件路径等) 编译器兼容性问题(GCC/Clang/MSVC对C标准的支持程度不同&#…

Java性能优化实战:从原理到技巧

Java性能优化实战技术文章大纲性能优化的基础概念性能优化的定义与重要性性能指标:吞吐量、延迟、资源利用率常见性能瓶颈:CPU、内存、I/O、网络JVM层面的优化垃圾回收器选择与调优(G1、ZGC、Shenandoah)堆内存与元空间参数配置&a…

Photoshop 图形与图像处理技术——第9章:实践训练3——图像修饰和色彩色调的调整

目录 零、常用快捷键操作 一、使用“污点修复工具” (1)素材与效果图 (2)操作步骤 二、使用“修复画笔”工具 (1)素材与效果图 (2)操作步骤 三、使用“修补”工具 &#xf…

闲置京东e卡回收新选择,让沉睡的购物卡焕发新生机 - 京顺回收

李女士在整理抽屉时意外发现几张未拆封的京东e卡,面值加起来竟有两千元。她望着这些卡券苦笑:"现在购物都习惯用手机支付,这些卡放着也是浪费。"这个场景或许正发生在无数家庭中——随着移动支付普及,曾…

5G、雷达、航天研发的“心脏”利器:是德N5182B 信号发生器全面解析

156/2558/3328产品概述:在无线通信、雷达系统和航空航天等领域,研发与测试人员每天都在与无形的射频信号打交道。如何生成一个“纯净”且“听话”的信号,来验证设备在真实世界复杂电磁环境中的性能?这离不开一台核心仪器——射频信…

不同版本的 chrome 开发者工具 CSS 属性变为斜体无法修改,如何解决?

如上操作,取消"CSS源代码映射",就可以把CSS斜体属性变为正常可修改属性

Photoshop 图形与图像处理技术——第9章:实践训练4——图层和蒙版

目录 一、绘制小狗 (1)素材 (2)效果图 (3)步骤教程 二、实践1——将老人图层移至海滩图层 (1)素材 (2)效果图 (3)步骤教程 三…

提示系统没人用?架构师教你3步打造爆款互动体验

提示系统没人用?架构师教你3步打造爆款互动体验 关键词 提示系统设计 | 用户互动体验 | 场景化引导 | 个性化感知 | 反馈闭环 | 行为经济学 | 数据驱动优化 摘要 你是否遇到过这样的场景:精心设计的AI提示框弹出来,用户却直接关掉&#x…

Nvidia H100 算力服务器 Cuda、FabricManager、Container 安装和升级 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2026年1月档案机构公司权威推荐:档案储存机构公司、档案整理机构公司、档案数字化机构公司、电子档案机构公司、整理卷宗档案机构公司、销毁档案机构公司等选择指南,智慧管理解决方案 - 海棠依旧大

广州创科绿农数字信息技术有限公司深耕数字信息技术领域,聚焦档案管理数字化升级需求,打造“创科档案”核心业务板块,以技术创新为支撑,构建适配企业全场景的档案管理体系,助力各类组织打破传统档案管理瓶颈,实现…

Java基础补缺5:异常处理、常用工具类

Java基础补缺5:异常处理、常用工具类1)Java异常处理全面解析 Error 的出现,意味着程序出现了严重的问题,而这些问题不应该再交给 Java 的异常处理机制来处理,程序应该直接崩溃掉,比如说 OutOfMemoryError,内存溢…

基于Spring Boot的疗养院管理系统的设计与实现(11711)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

强烈安利8个AI论文工具,继续教育学生轻松搞定论文写作!

强烈安利8个AI论文工具,继续教育学生轻松搞定论文写作! AI 工具如何改变论文写作的未来 在当前的学术环境中,越来越多的继续教育学生面临论文写作的压力。无论是撰写开题报告、撰写初稿,还是进行查重和降重,每一步都可…