opencv 三维重建基础

import cv2

import numpy as np

假设已经获取了相机矩阵和畸变系数

camera_matrix = np.array(...)

dist_coeffs = np.array(...)

读取校正前的图像

img1 = cv2.imread('left01.jpg')

校正图像

map1, map2 = cv2.fisheye.initUndistortRectifyMap(camera_matrix, dist_coeffs, np.eye(3), camera_matrix, img1.shape[0:2][::-1], cv2.CV_16SC2)

undistorted_img1 = cv2.remap(img1, map1, map2, interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT)

计算投影矩阵

proj_matrix = cv2.fisheye.getOptimizedProjectionMatrix(camera_matrix, dist_coeffs, undistorted_img1.shape[1], undistorted_img1.shape[0], alpha=0.0)

将校正后的图像投影到三维空间

img1_3d = cv2.fisheye.projectImageTo3D(undistorted_img1, proj_matrix)

显示三维点云

points = np.reshape(img1_3d, (3, -1)).T

points = np.hstack((points, np.ones((1, points.shape[1]))))

print(points)

相关推荐
忆~遂愿几秒前
cpolar拯救被困在局域网中的DS File,让NAS文件访问自由到离谱
人工智能·vllm
福客AI智能客服几秒前
推理赋能售后:AI淘宝客服与电商智能客服破解复杂问题困局
大数据·人工智能·机器人
AI科技星3 分钟前
电磁光速几何耦合常数 Z‘ 的几何起源、第一性原理推导与多维度验证
人工智能·线性代数·算法·矩阵·数据挖掘
玄同7655 分钟前
LangChain v1.0+ Memory 全类型指南:构建上下文感知大模型应用的核心方案
人工智能·语言模型·自然语言处理·langchain·nlp·知识图谱·向量数据库
shangjian0076 分钟前
AI-大语言模型LLM-Transformer架构6-输出层
人工智能·语言模型·transformer
橘子师兄8 分钟前
C++AI大模型接入SDK—Ollama本地接入Deepseek
c++·人工智能·后端
zyplayer-doc9 分钟前
文档增加访问密码设置,编辑器增加导航,登录日志增加IP归属地和浏览器信息展示,zyplayer-doc 2.5.9 发布啦!
人工智能·pdf·编辑器·飞书·开源软件·有道云笔记
allen sue10 分钟前
Moltbot(Clawdbot)
人工智能·docker
杨_晨11 分钟前
大模型微调训练FAQ - Loss与准确率关系
人工智能·经验分享·笔记·深度学习·机器学习·ai