|
Image Calibration Anonymous |
17 year
|
Hello,
I am using RR along with ImageJ. The only reason I need ImageJ to calibrate an image so the distance between features can be measured in real world units. Is this a possibility for RoboRealm?
Thank you
-Franklin
|
|
|
Image Calibration Anonymous |
17 year
|
Franklin,
Yes, it is a possibility. Just to be sure that we understand what you're doing with ImageJ can you post the calibration image along with some expected results from the processing of th image? Given those data points we should easily be able to add that as a module within RoboRealm.
STeven.
|
|
|
Anonymous |
17 year
|
Great,
I'll pull together some sample files
-Franklin
|
|
|
Part 2 - Spatial Image Calibration Anonymous |
17 year
|
Hello,
I'm following up on an earlier email.
Would it be possible the measure image features in real world units (inches, centimeters, etc.)?
Here is what I do in ImageJ:
1) Set the origin (0,0 left hand corner)
1) Place a reference marker an object of know size into a scene
2) Set the precision (4 decimal places) and capture an image (using no antialiasing)
3) Zoom in as much as possible and use the reference to draw a line of known length (say 1.500 inches) to calibrate the scene - see image1
4) Once this is setup I can now make measurements on features using real world units. I usually save the output from the RESULTS window. If you are careful you can get surprisingly accurate length and angle measurements. See image 2
What is it good for? If you can get enough accuracy you could
- Set up a grid and measure distance between features/objects
- Know how far to move you robot gripper
- Know where to have your new fangled contraption to grab, cut, fold etc. :)
There does not seem to be any difference in the file before and after calibration. ImageJ must be keeping track of things internally. I can send them if it helps.
Any possibilities?
Thank you
-Franklin
|
|
|
Results Anonymous |
17 year
|
- Looks like the images don't show up clearly unless you make them full size.
Below is an example results file for some straight line objects
Mean Angle Length
1 152.2469 6.3402 7.0601
2 114.4492 80.0362 5.0938
3 153.3310 80.1559 9.4629
|
|
|
Real World Measurements Anonymous |
17 year
|
Interesting thread ... and we have a couple of questions.
ImageJ is a static image processor (for the most part) and making manual measurements is needed in such a program since you are mainly interested in a single frame. RoboRealm processes many frames and expects that the camera is moved from place to place. Trying to calibrate a moving target is almost impossible since one measurement will be already false if the camera ever moves towards or away from the object. So is you intent to use RoboRealm in a static configuration where the objects only move on a planar surface? As you wish to equate object differences between them in real word units?
If you do wish to convert pixel based distances to real world distances it is possible (but a little tricky) to use the VBScript to do this conversion. Again this assume that the objects only move in a planar way.
This is an easy feature to add ... but we are trying to understand the need for it in a more dynamic environment.
Thanks,
STeven.
|
|
|
Real World Measurements 2 Anonymous |
17 year
|
Hola,
Oh, I see you point.
The camera does not move for my application(s)
1) Camera stays put while a table moves groups of objects into the field of view and waits while the scene is processed.
2) In the future a mobile platform will move between different workstations. While at the workstation the camera will not be moving during the image processing
In each case RR will be used in a static configuration. How would I make measurements in VBasic (or Python :))
Thank you
|
|
|
Anonymous |
17 year
|
It still depends on your configuration. If you can guarantee that the objects are always a set distance from the camera (z-axis) then the number of pixels in width the object takes up can be translated to a cm or inch size. The problem is that as the object becomes further from the camera a single pixel represents a larger and larger actual width which means the resulting precision goes down.
It is really a matter of calibration. If you place a ruler at the distance you expect the objects to appear and calculate what your pixel to cm ratio is based on that image then you can continue to measure objects by multiplying the actual pixel size by that ratio to get a rough idea of cm measurement. Again, the precision is not going to work very well if objects are far away from the camera or you don't have a high enough resolution camera or if the objects are not always at the same depth.
STeven.
|
|