Crop image without change aspect ration of original image

3 visualizaciones (últimos 30 días)
Malan Jayanka
Malan Jayanka el 9 de Oct. de 2016
Comentada: Image Analyst el 9 de Oct. de 2016
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?

Respuestas (1)

Walter Roberson
Walter Roberson el 9 de Oct. de 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 comentarios
Malan Jayanka
Malan Jayanka el 9 de Oct. de 2016
Editada: Malan Jayanka el 9 de Oct. de 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 el 9 de Oct. de 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]);

Iniciar sesión para comentar.

Categorías

Más información sobre Geometric Transformation and Image Registration en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by