資源簡介
此文件夾中包含實驗的圖片集,還有兩個實現張正友棋盤標定的方法,都可以成功實現。
代碼片段和文件信息
#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個文件信息
評論
共有 條評論