How to crop an image A which is a subset of an image B
2 views (last 30 days)
Show older comments
dheeraj surabhi
on 12 Oct 2015
Commented: dheeraj surabhi
on 30 Oct 2015
I have two images where image A is a subset of image B.I could with feature matching technique - identify, match and show the images as a pair. Now that i have identified and matched image A with image B. i want to clip out(crop) that exact region from image B and create a new image. How can i do this, any help is appreciated ?
0 Comments
Accepted Answer
Dima Lisin
on 13 Oct 2015
Edited: Dima Lisin
on 25 Oct 2015
If you have matched the points, then you can simply find the bounding box of the matched points:
points = round(matchedTarget.Location);
left = min(points(:, 1));
right = max(points(:, 1));
top = min(points(:, 2));
bottom = max(points(:, 2));
croppedImage = target(top:bottom, left:right, :);
4 Comments
Dima Lisin
on 25 Oct 2015
Edited: Dima Lisin
on 25 Oct 2015
Sorry, I've fixed the answer. Use round(), and switch top:bottom and left:right.
More Answers (2)
Thorsten
on 12 Oct 2015
If I understood correctly, you have found the part in image B that is exactly like image A, and now you want to crop that part of image B. Because both are identical, the cropped image would be exactly like A, so you can just write
C = A;
2 Comments
Thorsten
on 12 Oct 2015
C = B(ind1,ind2,:);
where ind1, ind2 are the vectors ob indices that define the region.
Image Analyst
on 12 Oct 2015
You have said you "have identified and matched image A with image B". If you did that, then you know the coordinates, for example like I did in my attached normxcorr2() demo. So simply use imcrop() after that.
2 Comments
Image Analyst
on 12 Oct 2015
Sorry - I don't have the Computer Vision System Toolbox. Perhaps Dima will answer you.
See Also
Categories
Find more on Computer Vision with Simulink in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!