Python中的手写数字如何锐化然后细化?
How to sharpen and then thin an image of a handwritten digit in Python?
原图:
代码:
image = skimage.img_as_float(original_image) # datattype of original image is uint8
blurred_image = filters.gaussian_filter(image, 3)
filter_blurred_image = filters.gaussian_filter(blurred_image,1)
alpha = 30
sharpened = blurred_image + alpha * (blurred_image - filter_blurred_image)
original_image数组:https://drive.google.com/file/d/0B2EliTzXsTI3VFJHVVgxTHl6UTg/view?usp=sharing
上面的代码给出了与我预期不同的结果:
我想锐化它然后 "thin" 线条以便我可以检测到它的端点。
如果你想瘦化图像,skimage.morphology.skeletonize
。
来自@evbr:
imshow(skimage.morphology.skeletonize(load('image.npy')>128),cm.Greys,interpolation='none')
为:
原图:
代码:
image = skimage.img_as_float(original_image) # datattype of original image is uint8
blurred_image = filters.gaussian_filter(image, 3)
filter_blurred_image = filters.gaussian_filter(blurred_image,1)
alpha = 30
sharpened = blurred_image + alpha * (blurred_image - filter_blurred_image)
original_image数组:https://drive.google.com/file/d/0B2EliTzXsTI3VFJHVVgxTHl6UTg/view?usp=sharing
上面的代码给出了与我预期不同的结果:
我想锐化它然后 "thin" 线条以便我可以检测到它的端点。
如果你想瘦化图像,skimage.morphology.skeletonize
。
来自@evbr:
imshow(skimage.morphology.skeletonize(load('image.npy')>128),cm.Greys,interpolation='none')
为: