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)方框标定代码
张小明
前端开发工程师
5G、雷达、航天研发的“心脏”利器:是德N5182B 信号发生器全面解析
156/2558/3328产品概述:在无线通信、雷达系统和航空航天等领域,研发与测试人员每天都在与无形的射频信号打交道。如何生成一个“纯净”且“听话”的信号,来验证设备在真实世界复杂电磁环境中的性能?这离不开一台核心仪器——射频信…
专科生必看!8个降AI率工具推荐,高效降AIGC神器
专科生必看!8个降AI率工具推荐,高效降AIGC神器 AI降重工具,让论文更自然更高效 在当前的学术写作中,越来越多的学生开始使用AI工具辅助写作,但随之而来的AIGC率过高、AI痕迹明显的问题也成为了困扰。对于专科生而言&am…
即插即用系列(代码实践) | CVPR 2025 MONA:多尺度方向感知适配器——仅需5%参数,性能超越全量微调 (5% > 100%)
论文题目:5% > 100%: Breaking Performance Shackles of Full Fine-Tuning on Visual Recognition Tasks 应用任务:视觉识别、参数高效微调 (PEFT)、迁移学习 核心模块:MONA (Multi-Scale Orientation-Aware Noise-Reduction Adapter) 摘要: 本文提取自 2024年最新热门论…
不同版本的 chrome 开发者工具 CSS 属性变为斜体无法修改,如何解决?
如上操作,取消"CSS源代码映射",就可以把CSS斜体属性变为正常可修改属性
提示系统没人用?架构师教你3步打造爆款互动体验
提示系统没人用?架构师教你3步打造爆款互动体验 关键词 提示系统设计 | 用户互动体验 | 场景化引导 | 个性化感知 | 反馈闭环 | 行为经济学 | 数据驱动优化 摘要 你是否遇到过这样的场景:精心设计的AI提示框弹出来,用户却直接关掉&#x…
MiniMax、智谱上市背后:中国AI产业链的连锁反应正在到来
2026年初这轮上市所打开的,并不是一个简单的融资窗口,而是一种新的产业运行方式。模型公司获得持续投入能力,上游获得长期订单预期,下游获得更可控的技术伙伴。产业链开始从试水状态,转向围绕长期能力建设的协同阶段。…