I am doing OpenCV camera calibration with square planner pattern size of 6x9. My application is follows.

My object size (FOV) is around 5mm to 20mm and I am using Monochrome camera and telecentric lens since it is Accurate 3D machine vision. My pattern size is 6x9mm with square size of 1 mm.

When i run camera calibration for intrinsic parameter and i am getting focal length and principal point.

And the problem is that every time focal length is changing randomly no consistency. I think due to pattern size is very small it causing noise so it detecting the wrong corners.

So my question how can i solve this problem.

1) Do i need to use different kind of pattern (other than planer board) ?

2) Is there any paper or similar application that use small size camera calibration for machine vision ?

Alex

有帮助吗?

解决方案

For a telecentric lens, the focal length approaches infinity. What you are seeing is numeric instability.

Halcon has dedicated calibration procedures for telecentric lenses that solve for magnification rather than focal length. There may be similar code base for Matlab / OpenCV.

It's also useful to consider that for a telecentric lens tilting the calibration grid, such that the grid is not perpendicular to optical axis, doesn't produce a perspective distortion. Therefore the tilt direction has two possible solutions that appear identical to the camera. The system of equations used must deal with that phenomena also.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top