• 大小: 33.2MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-11
  • 语言: Python
  • 标签: python  

资源简介

此文件夹中包含实验的图片集,还有两个实现张正友棋盘标定的方法,都可以成功实现。

资源截图

代码片段和文件信息

#coding:utf-8
import cv2
import numpy as np
import glob

# 找棋盘格角点
# 阈值
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER 30 0.001)
#棋盘格模板规格
w = 10
h = 7
# 世界坐标系中的棋盘格点例如(000) (100) (200) ....(850),去掉Z坐标,记为二维矩阵
objp = np.zeros((w*h3) np.float32)
objp[::2] = np.mgrid[0:w0:h].T.reshape(-12)
# 储存棋盘格角点的世界坐标和图像坐标对
objpoints = [] # 在世界坐标系中的三维点
imgpoints = [] # 在图像平面的二维点

images = glob.glob(‘E:/study_work/python/chass/chass*.jpg‘)
for fname in images:
    img = cv2.imread(fname)
    gray = cv2.cvtColor(imgcv2.COLOR_BGR2GRAY)
    # 找到棋盘格角点
    ret corners = cv2.findChessboardCorners(gray (wh)None)
    # 如果找到足够点对,将其存储起来
    if ret == True:
        cv2.cornerSubPix(graycorners(1111)(-1-1)criteria)
        objpoints.append(objp)
        imgpoints.append(corners)
        # 将角点在图像上显示
        cv2.drawChessboardCorners(img (w h) corners ret)
        cv2.imshow(‘findCorners‘ img)
        cv2.waitKey(1)
cv2.destroyAllWindows()

# 标定
ret mtx dist rvecs tvecs = cv2.calibrateCamera(objpoints imgpoints gray.shape[::-1] None None)

# 去畸变
img2 = cv2.imread(‘E:/study_work/python/chass/chass2.jpg‘)
h  w = img2.shape[:2]
newcameramtx roi=cv2.getOptimalNewCameraMatrix(mtxdist(wh)0(wh)) # 自由比例参数
dst = cv2.undistort(img2 mtx dist None newcameramtx)
# 根据前面ROI区域裁剪图片
#xywh = roi
#dst = dst[y:y+h x:x+w]
cv2.imwrite(‘chassbuild.jpg‘dst)

# 反投影误差
total_error = 0
for i in xrange(len(objpoints)):
    imgpoints2 _ = cv2.projectPoints(objpoints[i] rvecs[i] tvecs[i] mtx dist)
    error = cv2.norm(imgpoints[i]imgpoints2 cv2.NORM_L2)/len(imgpoints2)
    total_error += error
print “total error: “ total_error/len(objpoints)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2010  2019-04-11 22:55  chass.py
     目录           0  2019-04-13 13:53  chass\
     文件     1279411  2019-04-10 15:28  chass\chass1.jpg
     文件     1303380  2019-04-10 15:28  chass\chass10.jpg
     文件     1191621  2019-04-10 15:28  chass\chass11.jpg
     文件     1209614  2019-04-10 15:28  chass\chass12.jpg
     文件     1339557  2019-04-10 15:28  chass\chass13.jpg
     文件     1132406  2019-04-10 15:28  chass\chass14.jpg
     文件     1193659  2019-04-10 15:28  chass\chass15.jpg
     文件     1289723  2019-04-10 15:28  chass\chass16.jpg
     文件     1177490  2019-04-10 15:28  chass\chass17.jpg
     文件     1177847  2019-04-10 15:28  chass\chass18.jpg
     文件     1357712  2019-04-10 15:28  chass\chass19.jpg
     文件     1154993  2019-04-10 15:28  chass\chass2.jpg
     文件     1350788  2019-04-10 15:28  chass\chass20.jpg
     文件     1304944  2019-04-10 15:28  chass\chass21.jpg
     文件     1392445  2019-04-10 15:28  chass\chass22.jpg
     文件     1166829  2019-04-10 15:28  chass\chass23.jpg
     文件     1181574  2019-04-10 15:28  chass\chass24.jpg
     文件     1263994  2019-04-10 15:28  chass\chass25.jpg
     文件     1273034  2019-04-10 15:28  chass\chass26.jpg
     文件     1208757  2019-04-10 15:28  chass\chass27.jpg
     文件     1270539  2019-04-10 15:28  chass\chass28.jpg
     文件     1273464  2019-04-10 15:28  chass\chass3.jpg
     文件     1279395  2019-04-10 15:28  chass\chass4.jpg
     文件     1413078  2019-04-10 15:28  chass\chass5.jpg
     文件     1315784  2019-04-10 15:28  chass\chass6.jpg
     文件     1168550  2019-04-10 15:28  chass\chass7.jpg
     文件     1191964  2019-04-10 15:28  chass\chass8.jpg
     文件     1339661  2019-04-10 15:28  chass\chass9.jpg
     文件        1976  2019-04-13 13:46  chasstry.py
............此处省略1个文件信息

评论

共有 条评论