# matching image processing

5 replies [Last post]
minnguye
Offline
Joined: 2009-07-27

Hi,

I have two images(img1 and imag2), img1 is a part of img2.
I have been searching a way to
- verify if img1 is a part of img2
- if yes, returns the coordinates of the top left of this part

I'm beginner in the domain of image processing and now, I have searched an algorithm or an Java API (if possible) for this problem.

Thank you so much in advance

minnguye
Offline
Joined: 2009-07-27

Thank you so much for your help,

The problem is that one image is not exactly part of another one (because of the zip file after saving image) and if we search pixel by pixel, the time of processing will be very long.

However, I have found a efficacy solution for that :D in using the thresholds[b][u]s[/u][/b] that help me to reduce the processing time (certainly, the results rest corrects).

Now, I try to work with the [i]level 2[/i] of this processing: The small image (that is a part of the big one) is [i]resized [/i]in reserving the dimension proportion. My Java program always must have the capacity to detecting this part.

I think I will read the algorithm SIFT, MSER. They may give me some ideal? I have thought about the comparison between the DFT, too.

I always wanted to receive the suggestion from you.

One more time, thank you so much for all your suggestion. :)

jiezhang
Offline
Joined: 2005-12-29

If one image is exactly part of another one, you can use subtract to do it.

power3d
Offline
Joined: 2006-07-17

That is also a simpler and good idea.
si = smaller image;
bi = bigger image;
Just move si over the bi until the subtraction off all the pixels in the si from the bi are 0.

I don't believe you have anything implemented in JAI for that purpose.
Try to find some java implementation of SIFT or MSER algorithms.
Those are known algorithms for image matching, even if images have different invariant transforms.
I hope it helps.
[Message sent by forum member 'power3d' (power3d)]