3D camera calibration of the C + + programming language

OData support
Dr. Iváncsy Szabolcs
Department of Automation and Applied Informatics

This work is about a high-speed camera, what is capable of making 3D images when connected to the PC. It has several measurement modes, which can acquire different precision at different speed. Since it can also measure more than one parameters, even at the same time, therefore it is called a MultiScan camera. Now I only had to set-up and activate a simple demonstrational scheme, then implement calibration.

In this system, calibration is about adding real measurement units to the images created by the Ranger, since basically it works with pixels. For example, if we have a project about quality control, we may have to know real sizes of the measured objects. At first glance, calibration is only about a correlation between measured and real units, but with the help of this correlation, the pictures can be improved so distances between adjacent pixels can be the same in real world units. The calibration has two steps in the Ranger measurement system: first, we have to create a calibration Look-Up Table (LUT) with the help of a standard, which consists of the correlations between each sensor pixels and real world coordinate system points. The second step is applying this LUT to every picture previously sent to the PC.

The company, where I was making my thesis, wishes to use the camera with a complex software written in LabVIEW. When I got this project started, the LabVIEW toolkit given with the camera was unable to apply calibration, it seemed only with the cam’s C++ SDK can solve the problem. So I had my thesis announcement with the task to implement calibration in an ActiveX controller written in C++. Later, after working myself into the project, I got confronted by a frequent problem in engineering: The specifications and circumstances can change while the progression with the task continues. I have found out that the newest LabVIEW toolkit for Ranger can handle calibration very well and since it is way faster and easier to use it in a software written in LabVIEW as well than calling ActiveX methods every time, I had to adapt to the situation. We rejected the idea of the ActiveX controller and instead I had to create a simple example of user interface for calibration in LabVIEW.


Please sign in to download the files of this thesis.