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)方框标定代码
张小明
前端开发工程师
C++跨平台开发:挑战与解决方案
C跨平台开发的核心挑战平台差异性处理 硬件架构差异(x86/ARM等)导致的内存对齐、字节序问题 操作系统API差异(Windows/Linux/macOS系统调用、文件路径等) 编译器兼容性问题(GCC/Clang/MSVC对C标准的支持程度不同&#…
MySQL(四)表的约束
https://gitee.com/weige0304/code_learn/blob/master/%E8%AF%BE%E4%BB%B6/05-MySQL%E8%A1%A8%E7%9A%84%E7%BA%A6%E6%9D%9F.pdfhttp://表的约束
LLM多跳推理深度测试:四项指标精准定位模型的推理极限
LLM 在多步骤问题求解上的表现已经相当不错了,但复杂逻辑链的处理仍然是个难题。模型的推理深度直接决定了它在多跳推理任务中能走多远、有多可靠。 本文介绍推理深度的核心机制,然后用四项压力测试指标对 Llama 3.2 和 Qwen 3 做个横向对比看看它们的逻…
Python爬虫与物流轨迹:为何官方API才是明智之选
当您需要为系统添加物流轨迹查询功能时,技术团队首先会面临一个关键抉择:是自主研发Python爬虫从各家快递公司网站“抓取”数据,还是通过一个统一的平台,如快递鸟的官方API进行“对接”?这个看似是“自主研发”与“调用…
【图像去噪】基于matlab GUI均值+中值+高斯低通+多种小波变换图像去噪(含PSNR和MSE)【含Matlab源码 14955期】
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…
基于Spring Boot的酒店管理系统_76jha9j3--绿色-java毕业设计
目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 本系统基于Spring Boot框架开发,结合MySQL数据库,设计并实现了一套功能完善的酒店管理系统。系…