Image cropping same portion from every side

2 次查看(过去 30 天)
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?

回答(2 个)

Image Analyst
Image Analyst 2015-4-23
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 个评论
Image Analyst
Image Analyst 2015-4-23
If you need to figure out what n is , then that's a different question than how to crop an image.

请先登录,再进行评论。


Stalin Samuel
Stalin Samuel 2015-4-23
编辑:Stalin Samuel 2015-4-23
n=50
[r c] = size(a)%%a is the input image
eim = a(n:r-n,n:c-n) %%eim croped image

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by