-
checkerboard corner detector영상처리/Camera Calibration 2022. 12. 1. 19:10728x90
camera calibration의 첫 단계는 corner detection이다.
import cv2 image_stack = [] image_stack =image_stack+ [cv2.imread('test/20221125_210056.jpg')] image_stack =image_stack+ [cv2.imread('test/20221125_210103.jpg')] image_stack =image_stack+ [cv2.imread('test/20221125_210107.jpg')] for image in image_stack: gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) ret, corners = cv2.findChessboardCorners(gray, (10, 7), None) ## termination criteria criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001) corners2 = cv2.cornerSubPix(gray,corners, (11,11),(-1,-1),criteria) # print(corners2) for dots in corners2: image=cv2.circle(image,(int(dots[0][0]),int(dots[0][1])),5,(0,0,255),-1) im_resized=cv2.resize(image,(1000,1000)) cv2.imshow('im1_dot',im_resized) cv2.waitKey(0)
sample image들을 불러와서, 위와 같이 corner detection을 구현하였다. (opencv의 findChessboardCorners 함수)
다음엔 이를 통해 calibration을 해볼까 한다.
코너가 잘 감지된다. (printer의 토너가 부족해보인다..) 놓치는 경우도 있긴하다. scene을 잘 꾸미는게 중요하다. 728x90'영상처리 > Camera Calibration' 카테고리의 다른 글
reprojection error (camera calibration) (0) 2023.03.03 camera calibration (0) 2022.12.10 camera calibration pattern 생성 (0) 2022.11.25