Crop out a section of the image in imshow, how?

1 view (last 30 days)
I have an image I, I want to crop out a section of the image so i dont use the whole image in the analysis.
I have two coordinates at the upper and lower corner, like
pts = [ 234 355; 1678 764];
that is p1 = [ 234; 355] and p2 = [1678; 764]. I want to create a rectangle within the area of these coordinates. The total image size is [1936, 1216].
My issue is that I get a little confused with the image coordinates, since the upper left corner has coordinate [1,1], lower left is [0,1216], upper right is [1936,1] and lower right is [1936,1216],.. (not like with a figure). I am not getting the coordinates correctly.
so how do I have to write to get the second rectangular cropped image in the right area?
I2 = I ( some coordinates) .. for example I2 = I(p1(1):p2(1), p1(2):p1(2)). this is the wrong area though
I been at this for an hour and I cant see how to make it work... :( please help!!

Accepted Answer

KSSV
KSSV on 6 Aug 2020
Read about imcrop. Let I be your image.
rect = [234 355 (1678-234) (764-355)]
iwant = imcrop(I,rect)
imshow(iwant)
  2 Comments
Happy PhD
Happy PhD on 6 Aug 2020
Thanks, I think i solved it.
I2=I(p1(2):p2(2), p1(1):p2(1));
I will look into your version.

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!