2016-03-19 5 views
0

Originalbild:Wie schärfen und verdünnen Sie ein Bild einer handgeschriebenen Ziffer in Python?

Original Image

Code:

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 Array: https://drive.google.com/file/d/0B2EliTzXsTI3VFJHVVgxTHl6UTg/view?usp=sharing

Der obige Code mir ein anderes Ergebnis, als es zu geben, was ich erwartet hatte: enter image description here

I Ich will es schärfen und dann die Linien "verdünnen", damit ich ihre Endpunkte erkennen kann.

+0

Prüfung der Zwischenbilder den Schritt zu finden, die schief geht. warum nicht einfach einen Schwellenwert verwenden? – Piglet

Antwort

2

Wenn Sie dünn das Bild möchten, gibt es skimage.morphology.skeletonize.

2

von @evbr:

imshow(skimage.morphology.skeletonize(load('image.npy')>128),cm.Greys,interpolation='none') 

für:

skeleton 9