Re: [scikit-image] fill closed contour
Hi Randy, I was going to suggest binary fill holes. Do you mind posting your image and the code you’ve tried so we can troubleshoot?
Thanks,
Juan.
On 8 Jan 2018, 9:48 AM +1100, Randy Heiland
If I have a binary image with, say, just a contour boundary (simple example: a white background with a black circle, i.e. an "o"), how can I fill the inside of the contour? I've played with both the watershed segmentation and the scipy.ndimage.binary_fill_holes, without success.
thanks, Randy _______________________________________________ scikit-image mailing list scikit-image@python.org https://mail.python.org/mailman/listinfo/scikit-image
Sure - thanks.
from skimage.morphology import disk
from skimage.feature import canny
from scipy import ndimage as ndi
import matplotlib.pyplot as plt
image = disk(100)
for ix in range(200):
for iy in range(200):
xdel=ix-100
ydel=iy-100
if (xdel*xdel/50 + ydel*ydel/10) < 110:
image[iy,ix]=0
elif (xdel*xdel/10 + ydel*ydel/50) < 110:
image[iy,ix]=0
edges = canny(image*255.) # canny expect grayscale, i.e. 0-255 ??!
fill = ndi.binary_fill_holes(edges) # I don't understand the params; can
I seed a region to fill?
fig, axes = plt.subplots(ncols=3, figsize=(9, 3))
ax = axes.ravel()
ax[0].imshow(image, cmap=plt.cm.gray, interpolation='nearest')
#ax[0].imshow(invert_img, cmap=plt.cm.gray)
#ax[0].set_title('Inverted image')
ax[0].set_title('Original image')
ax[1].imshow(edges*1, cmap=plt.cm.gray, interpolation='nearest')
ax[1].set_title('Canny edges')
ax[2].imshow(fill, cmap=plt.cm.spectral, interpolation='nearest')
ax[2].set_title('Fill')
plt.show()
On Sun, Jan 7, 2018 at 6:57 PM, Juan Nunez-Iglesias
Hi Randy, I was going to suggest binary fill holes. Do you mind posting your image and the code you’ve tried so we can troubleshoot?
Thanks,
Juan.
On 8 Jan 2018, 9:48 AM +1100, Randy Heiland
, wrote: If I have a binary image with, say, just a contour boundary (simple example: a white background with a black circle, i.e. an "o"), how can I fill the inside of the contour? I've played with both the watershed segmentation and the scipy.ndimage.binary_fill_holes, without success.
thanks, Randy _______________________________________________ scikit-image mailing list scikit-image@python.org https://mail.python.org/mailman/listinfo/scikit-image
_______________________________________________ scikit-image mailing list scikit-image@python.org https://mail.python.org/mailman/listinfo/scikit-image
participants (2)
-
Juan Nunez-Iglesias
-
Randy Heiland