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 <[email protected]>
wrote:
> 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 <[email protected]>,
> 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
> [email protected]
> https://mail.python.org/mailman/listinfo/scikit-image
>
>
> _______________________________________________
> scikit-image mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/scikit-image
>
>
_______________________________________________
scikit-image mailing list
[email protected]
https://mail.python.org/mailman/listinfo/scikit-image