목록CELLON Master Plan/Measurement of Dimensions (3)
박민혀기
Calibration 적용된 프레임에서 Canny 알고리즘을 활용하여 길이의 기준이 되는 Obj 검출. 가로·세로비가 1:3이 넘가면 제외(회전 무관) Calibration 적용된 프레임 끝 부분이 잘리는 현상 발생 -> ROI 지정하여 임의로 잘라냄 Next => Measurement Basic dimension #include #include #include #include #include using namespace std; using namespace cv; Mat frame, Canny_frame; Mat mapX, mapY; Mat cameraMatrix, distortionCoeffs; vector contours; void Calibration_Load(){ FileStorage fs("c..

이전 포스팅에서 Calibration 매개변수 추출을 진행하였고, 이번에는 매개변수를 적용하고, 간단한 검증까지 해보려고 한다. 적용 적용 단계에서는 크게 두가지 단계가 있다. camera matrix와 distort coeff들로 transformation matrix값 추출 transformation matrix를 이용하여 변환 이 두 개가 끝이다. OpenCV에서는 위 두 가지를 한 번에 해주는 undistort() 함수를 제공한다. 하지만 1번 단계에서 transformation matrix 값은 보정 전과 후의 이미지 사이즈가 다르지 않다면 처음 한 번만 실행해주면 된다.(매번 실행시 속도 저하) 즉! undistort함수는 매번 쓸데없이 transformation matrix를 구하고 있다. ..
개념 OpenCV에서 "캘리브레이션(calibration)"은 카메라나 이미지 처리 시스템의 내부 파라미터와 외부 파라미터를 조정하여 올바르게 이미지를 변환하고 보정하는 프로세스를 의미. 주로 카메라 캘리브레이션과 렌즈 왜곡 제거를 다루는 데 사용됨. 알고리즘 OpenCV에서는 체스 보드판으로 캘리브레이션을 진행할 수 있게 제공해줌. 체스판을 들고 다양한 각도에서 촬여하면 됨.(코너를 검출하면 자동 촬영) findChessboardCorners()함수로 보드판 코너를 검출하고, cornerSubPix()함수로 더 정확하게 코너를 검출한다. 이후 좌표 정보(imagepoints, objectpoints)를 벡터에 담아 저장한다. 마지막으로 drawChessboardCorners()로 좌표 이미지를 그려준다..