Clear Filters
Clear Filters

Crop image without change aspect ration of original image

1 view (last 30 days)
I want to do these kind of conversion. Output image must be 256*256 pixel. I want to crop image and remain the main leaf part in the output image without change the aspect ratio of original image. Is this possible in matlab?

Answers (1)

Walter Roberson
Walter Roberson on 9 Oct 2016
imcrop() and pass a rectangle whose width and height are 256, 256. A section that size will be extracted. The pixel sizes will not have changed, so the aspect ratio of the extracted area will be 1:1 . If you are displaying it afterwards, give the command
axis equal
or
axis image
You do not even need imcrop for this purpose: you can do it by plain array indexing
Extracted = YourImage(First_row : First_row + 255, First_column : First_column + 255, :);
  2 Comments
Malan Jayanka
Malan Jayanka on 9 Oct 2016
Edited: Malan Jayanka on 9 Oct 2016
I have used crop function but I got output like this
But I want to get whole leaf part into 256*256 region
[rgbImage,map] = imread('DSC_0001.jpg');
[heigth,width,dim] = size(rgbImage);
cropedImage = imcrop(rgbImage,map,[2000 1000 256 256]); imshow(cropedImage);
Also plz give me example how to use axis equal
Image Analyst
Image Analyst on 9 Oct 2016
Then that portion is not 256x256 - it's bigger. So crop out a bigger portion, then use imresize() to shrink it down.
croppedImage = imcrop(rgbImage,map,[2000 1000 512 512]);
croppedImage = imresize(croppedImage, [256,256]);

Sign in to comment.

Categories

Find more on Read, Write, and Modify Image 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!