crop image in skimage?

user824624 picture user824624 · Oct 22, 2015 · Viewed 28.2k times · Source

I'm using skimage to crop a rectangle in a given image, now I have (x1,y1,x2,y2) as the rectangle coordinates, then I had loaded the image

 image = skimage.io.imread(filename)
 cropped = image(x1,y1,x2,y2)

However this is the wrong way to crop the image, how would I do it in the right way in skimage

Answer

Darleison Rodrigues picture Darleison Rodrigues · Feb 5, 2016

This seems a simple syntax error.

Well, in Matlab you can use _'parentheses'_ to extract a pixel or an image region. But in Python, and numpy.ndarray you should use the brackets to slice a region of your image, besides in this code you is using the wrong way to cut a rectangle.

The right way to cut is using the : operator.

Thus,

from skimage import io
image = io.imread(filename)
cropped = image[x1:x2,y1:y2]