Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Perspective Calibration through Vision Assistant (Room Scale)

Hello,

 

I am developing a vision system to detect a mobile robot in a room, and a navigation system for the rover in the environment (user will specify a point in the map and the rover should navigate to it with obstacles avoidance)

 I’ve already mounted the camera (Lifecam Studio) already near the ceiling ~3m from the ground.

The camera is not perpendicular to the ground because it is at the top corner of the room to cover the whole room view. So I have perspective error and lens distortion.

According to (Chapter 6 – Calibrating Images, NI Vision for LabVIEW User Manual), there are 3 steps to calibrate the imaging system:

 

  1. Define a calibration template.
  2. Define a reference coordinate system.
  3. Learn the calibration information.

 

I am assuming that these 3 steps are included in NI Vision Assistant (Process Images>Image Calibration>New Calibration).

 

Step1: Calibration Type: I’ve chosen Point Coordinates Calibration, is that type suitable for this case?

Step3: Specify Reference Points, I’ve chosen 4 different points corresponding to the square pattern in the floor,

The square is 30cmx30cm. What values should I put in the Real-World Coordinates (X,Y) –Unit:cm, for each of the 4 points ? (Check Image 1)

 

After finishing all the steps, a calibration file will be created. How could I attach the calibration file created by vision assistant to the VI which I created to develop the system (Check Image 2)

 

According to (Chapter 6 – Calibrating Images, Attach Calibration Information, NI Vision for LabVIEW User Manual),

IMAQ Set Calibration Info VI, can be used for an image, the case here is a video feedback and a real time application, is there any example for that? Not the one included with the vision module, perspective calibration.vi

 

I’m assuming also that the steps I’ve done in vision assistant is an alternative way for the calibration from doing it through the VI itself (Vision and Motion>Vision Utilities>Calibration).

 

Thank you in advance.

 

Download All
0 Kudos
Message 1 of 8
(4,956 Views)
ok now what is exactly your problem
just could not load calib information in your vi?
0 Kudos
Message 2 of 8
(4,918 Views)

3 questions:

 

1- Step1: Calibration Type: I’ve chosen Point Coordinates Calibration, is that type suitable for this case?

2- What values should I put in the Real-World Coordinates (X,Y) –Unit:cm, for each of the 4 points ? (Check Image 1)

3- How could I attach the calibration file created by vision assistant to the VI which I created to develop the system (Check Image 2) ?

 

I’m assuming also that the steps I’ve done in vision assistant is an alternative way for the calibration from doing it through the VI itself (Vision and Motion>Vision Utilities>Calibration). Is that assumption right ?

 

0 Kudos
Message 3 of 8
(4,913 Views)
1 point is true for perspective you can also use line for correct it but in this way you have to write you own code
use two parallel line with same length then check line that how much they change in length measurement and parallel mode it could be helpful when you can not find any point to calibration
but you can do it if you have at least 4 appropriate point
Message 4 of 8
(4,909 Views)
Real-World Coordinates
you can regard one of the point ass reference (0 0)then measure the length of your point from reference point
for example you select point of one rectangle so if your rectangle Side is x
you have some thing like that
(00) (0 x) (x0) (x x)
also if you want you can select on other point in your image as reference
and then convert your point above point with that reference
Message 5 of 8
(4,909 Views)
last question check this vi
IMAQ Read Image And Vision Info VI
but before start to do your project please try to do some example vi test to get good attitude of image calibration
Message 6 of 8
(4,909 Views)

Thank you for your help,

 

I did the calibration in vision assistant and completed all the steps. A .png file is generated then

 

Calb1.png

 

the thing is, How can I display the calibrtion accuracy informations (most importantly cursor position: real world (cm) ) in my vi ? while running (camera grab) at certain FPS

I did a try by inserting IMAQ Read Image and Vision Info (check the picture), the file path is the .png image generated by vision assistant and then IMAQ is vision info present 2, calibration

 

Calb2.png

 

is IMAQ Read Image and Vision Info wired correctly ?

0 Kudos
Message 7 of 8
(4,882 Views)

Hello Joeynn,


You can use the “IMAQ Get Calibration Info 3.vi” to retrieve most of the calibration accuracy properties. Below is a simple example demonstrating how to use the VI.

 

EX.png

 

I do not believe that you will be able to get the cursor position from the calibration accuracy properties. A cursor position is considered an Indicator property (not a calibration property). You can use a property node to retrieve the “Cursor” property from the image Indicator on your front panel.


Picture Properties:
http://zone.ni.com/reference/en-XX/help/371361H-01/lvprop/picture_p/

 

Regards, 

j_bou

 

Message 8 of 8
(4,803 Views)