OpenCV是一个用于实时计算机视觉的库。它具有非常强大的功能,使得处理图像和获取有关它们的信息的艺术变得容易。在这篇文章中,我们将回顾一些我们用于从图像进行3D重建的功能,以便制作自动机器人手臂。OpenCV使用针孔相机模型。该模型通过使用透视变换将3D点投影到图像平面上来工作。 OpenCV的一些功能可以帮助我们实现目标。这些功能与棋盘模型一起用于校准模型,因此首先要获得棋盘并拍摄一些照片。我们拍了几张照片以获得更好的校准效果。import glob import cv2 import numpy as np criteria = (cv.TERM_CRITERIA_EPS + cv.TERM_CRITERIA_MAX_ITER, 30 , 0.001) objp = np.zeros((9*6,3), np.float32) objp[:,:2] = np.mgrid[0:6.0:9].T.reshape(-1,2) objpoints = [] imgpoints = [] images = glob.glob('./Muestras_Calibracio/*.jpg') for fname in images: img = cv2.imread(fname) gray = cv2.cvtColor(img,cv.COLOR_BGR2GRAY) ret , corners = cv.findChessboardCorners(gray,(6,9), None) if ret == True: objpoints.append(objp) corners2 = cv2.cornerSubPix(gray , corners , (11,11) , (-1,-1) , criteria) imgpoints.append(corners) cv2.drawChessboardCorners(img , (6,9) , corners2 , ret)我们已经看到了一小段代码,所以让我们来看看它的作用。在第一行中,我们导入了必要的
python 3d重建_使用OpenCV和Python进行3D重建
最新推荐文章于 2024-04-03 11:08:26 发布