MATLAB Answers

imcrop image with hold on plot

8 views (last 30 days)
Alejandro Fernández
Alejandro Fernández on 25 Jul 2020
Commented: Image Analyst on 25 Jul 2020
Does someone know how can I crop and image and a plot to obtein both the result in another figure, I tried with getframe and frame2im but it pixels the image too much.. Does someone know another option?
And I need to do it in comand line automaticalle, not using the figure option. In rect you can see the rect i would like to use in the imcrop function.
I = imread('cameraman.tif');
rect = [71.5 92.5 101 76];
figure, imshow(I);
hold on
plot(1:200,'LineWidth',2)
Thank you

  2 Comments

KSSV
KSSV on 25 Jul 2020
You ave not cropped your image. Question is not clear.
Alejandro Fernández
Alejandro Fernández on 25 Jul 2020
Sorry, I thought the question was clear, let me try to explain it to you with an example. Imagine I have a function that returns a figure containing the representation of an image and with hold on some data from the plot function. What I need is to cut out that figure which is extracted from the previous function

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 25 Jul 2020
I = imread('cameraman.tif');
rect = [71.5 92.5 101 76];
figure
subplot(2, 1, 1);
imshow(I);
croppedImage = imcrop(I, rect);
subplot(2, 1, 2);
imshow(croppedImage);

  2 Comments

Alejandro Fernández
Alejandro Fernández on 25 Jul 2020
That's not what i'm asking... i need to crop it with the :
plot(1:200,'LineWidth',2)
Image Analyst
Image Analyst on 25 Jul 2020
plot() does not do cropping. Not sure why you think it does. plot() will just overlay a line/curve onto the image. Cropped images need to remain rectangular. If you want to blacken rows beyond a certain row, you can do that though
for col = 1 : 200
grayImage(col:end, col) = 0; % or whatever intensity you want.
end

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!