02-04-2014 02:11 AM
Hello, I have to correct my each new acquiring image in comparision with master image. Like intensity variation. But the the problem is my each new image may shift or rotate. i need to add the error correction image with each new image based on shifting and roation. Your suggestions will be valuable input for me.
02-04-2014 04:40 AM - edited 02-04-2014 04:40 AM
Hello,
one of the possible solutions (for a planar scene):
1. detect keypoints on the reference image and on (each) newly acquired image.
Keypoints are usually detected using algorithms like SIFT, SURF, MSER etc...
2. calculate homography between the reference image and (each) newly acquired image (minimal 4 points are needed).
3. use homography to transform (each) newly acquired image to the reference image.
4. process images with your algorithm (intensity variations, etc...).
Some time ago, I have already implemented 1. - 3. (3. is implemented partialy, as you would need to output the homography matrix to Labview and apply it there. Modifiying the source code should be pretty easy):
If you choose to go this way and run into problems, I can help.
Hope this helps in some way.
Best regards,
K
02-04-2014 07:11 AM
Hello klemen,
Thanks for your suggestion.
I went through ur link its good and i will try this little later.
But is there any way to do this only using NI Vision Library.
Am trying to use flat field correction method but before that i have to place my new image over the master image exactly same.
All objects in the image has to be placed one above other without any shift or rotation then i can find the error correction image and use flat field correction method.
Is there anyway to do this?.
02-04-2014 07:36 AM - edited 02-04-2014 07:38 AM
Hello,
if you don't need scale invariance, you can use template detection to align the points. In this way, you can account for rotation and translation.
I assume you would need two points to match (for translation and rotation also).
So:
- detect the same object/point (1) on the reference image as well on the newly acquired image and translate the object/point (align the central points)
- the other object/point (2) can be used to calculate the rotation angle with respect to the vertical or horizontal baseline (use the line slope between the two objects/points
- apply the 2D rotation around the aligned point (1).
Best regards,
K
02-04-2014
09:04 AM
- last edited on
06-23-2025
03:06 PM
by
Content Cleaner
You may want to also look at Golden Template Inspection.