三、
#张大可
#只需要输入畸变系数和内参矩阵、行列角点个数、边长
#注意这个过程已经去畸变了,所以不需要用去畸变后的图片
import cv2
import glob
import numpy as np
import pandas as pd
from pylab import *
import matplotlib.pyplot as plt
import sympy
import math
from mpl_toolkits.mplot3d import Axes3D
#输入畸变系数与内参矩阵
dist = array([[-9.43780303e-02,1.05179304e-01,6.25773506e-04,8.35001173e-05,3.07365802e-01]])
mtx = array([[2.38967981e+03,0.00000000e+00,1.23127363e+03],[0.00000000e+00,2.38915017e+03,1.03162429e+03],[0.00000000e+00,0.00000000e+00,1.00000000e+00]])
print(mtx)
#建立方框
def draw(img, corners, imgpts):
corner = tuple(corners[0].ravel())
img = cv2.line(img, corner, tuple(imgpts[0].ravel()), (255, 0, 0), 5)
img = cv2.line(img, corner, tuple(imgpts[1].ravel()), (0, 255, 0), 5)
img = cv2.line(img, corner, tuple(imgpts[2].ravel()), (0, 0, 255), 5)
return img
x_nums = 11 # x方向上的角点个数
y_n