image segmentation error (tuple index out of range)
Emmanuelle Gouillart
emmanuelle.gouillart at nsup.org
Fri Jan 8 02:44:52 EST 2016
Hello Anurag,
my guess is that your image is an RGB image, so that its shape is
(n_rows, n_cols, 3). I could reproduce your problem using the RGB
astronaut image from scikit-image (data.astronaut()). ``threshold_otsu``
is not very well adapted to RGB images because it mixes together the
color channels by first raveling all pixels. [Note for dev team: this
should be better documented, and we should look for a thresholding
algorithm compatible with RGB images]
Therefore ``image > thresh`` is a 3-D array (or 2-D color, you can try
imshow on this array). You can try determining the threshold value on a
grayscale image if it's possible for you, using the as_grey keyword
argument in io.imread. Or you can determine a threshold for each color
channel.
Cheers,
Emma
On Thu, Jan 07, 2016 at 09:04:48PM -0800, Anurag Phadke wrote:
> Hello,
> I am trying to run "image segmentation" on the attached image. Code at:
> https://gist.github.com/anuragphadke/7eb0e4398ef005632c6d
> However, on running the above script, i get the following error:
> Traceback (most recent call last):
> Â File "a.py", line 21, in <module>
> Â Â Â bw = closing(image > thresh, square(3))
> Â File "/Library/Python/2.7/site-packages/skimage/morphology/misc.py", line 37,
> in func_out
> Â Â Â return func(image, selem=selem, *args, **kwargs)
> Â File "/Library/Python/2.7/site-packages/skimage/morphology/grey.py", line
> 122, in func_out
> Â Â Â out_temp = func(image, selem, out=out_temp, *args, **kwargs)
> Â File "/Library/Python/2.7/site-packages/skimage/morphology/grey.py", line
> 349, in closing
> Â Â Â dilated = dilation(image, selem)
> Â File "/Library/Python/2.7/site-packages/skimage/morphology/misc.py", line 37,
> in func_out
> Â Â Â return func(image, selem=selem, *args, **kwargs)
> Â File "/Library/Python/2.7/site-packages/skimage/morphology/grey.py", line
> 251, in dilation
> Â Â Â nd.grey_dilation(image, footprint=selem, output=out)
> Â File "/usr/local/lib/python2.7/site-packages/scipy/ndimage/morphology.py",
> line 1295, in grey_dilation
> Â Â Â sz = footprint.shape[ii]
> IndexError: tuple index out of range
> Any idea what might be wrong here? I tried multiple images and multiple file
> formats (jpg / png etc.)
> -anurag
More information about the scikit-image
mailing list