Image cropping same portion from every side
2 views (last 30 days)
Show older comments
I have a image
i want to crop the image such a way that same area is cropped from each 4 sides. like :
and then at the end i'll get the result image as
how will i do this?
how to use imcrop() function here?
0 Comments
Answers (2)
Image Analyst
on 23 Apr 2015
You can use imcrop like this:
[rows, columns, numberOfColorChannels] = size(rgbImage);
n = 40;
croppedImage = imcrop(rgbImage, [n, n, columns - 2*n, rows - 2 * n);
The above code works for either an RGB full color image, or a gray scale image.
Or you can use indexing. For a full color image, you can do
croppedImage = rgbImage(n:rows-2*n, n:columns-2*n, :); % For RGB image
Or, for a gray scale image:
croppedImage = grayScaleImage(n:rows-2*n, n:columns-2*n); % For a gray scale image
1 Comment
Image Analyst
on 23 Apr 2015
If you need to figure out what n is , then that's a different question than how to crop an image.
Stalin Samuel
on 23 Apr 2015
Edited: Stalin Samuel
on 23 Apr 2015
n=50
[r c] = size(a)%%a is the input image
eim = a(n:r-n,n:c-n) %%eim croped image
See Also
Categories
Find more on Geometric Transformation and Image Registration 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!