2013-06-05 18 views
8

Ich habe ein Graysacle PNG-Bild und ich möchte alle verbundenen Komponenten aus meinem Bild extrahieren. Einige der Komponenten haben die gleiche Intensität, aber ich möchte jedem Objekt eine eindeutige Bezeichnung zuweisen. hier ist mein BildExtrahieren von verbundenen Objekten aus einem Bild in Python

enter image description here

ich diesen Code versucht:

img = imread(images + 'soccer_cif' + str(i).zfill(6) + '_GT_index.png') 
labeled, nr_objects = label(img) 
print "Number of objects is %d " % nr_objects 

Aber ich habe nur drei Objekte diese verwenden. Bitte sagen Sie mir, wie Sie jedes Objekt bekommen.

+0

Woher kommt die 'Label'-Funktion? –

+0

Mögliche Lösung: http://StackOverflow.com/a/5304140/190597 – unutbu

+0

Ich verwende tatsächlich etwas ähnliches. Die Label-Funktion ist von scipy.ndimage Aber bekommen das Ergebnis, dass ich geschrieben – Khushboo

Antwort

8

J.F. Sebastian shows a way, um Objekte in einem Bild zu identifizieren. Es erfordert manuell eine Gaußsche Unschärfe Radius und Schwellenwert wählen, aber:

import scipy 
from scipy import ndimage 
import matplotlib.pyplot as plt 

fname='index.png' 
blur_radius = 1.0 
threshold = 50 

img = scipy.misc.imread(fname) # gray-scale image 
print(img.shape) 

# smooth the image (to remove small objects) 
imgf = ndimage.gaussian_filter(img, blur_radius) 
threshold = 50 

# find connected components 
labeled, nr_objects = ndimage.label(imgf > threshold) 
print "Number of objects is %d " % nr_objects 

plt.imsave('/tmp/out.png', labeled) 
plt.imshow(labeled) 

plt.show() 

enter image description here

Mit blur_radius = 1.0, dies findet 4 Objekte. Mit blur_radius = 0.5, 5 Objekte gefunden:

enter image description here

+0

Hmm, habe ich nicht versucht Gaussian Unschärfe früher. Diese Methode funktioniert besser. Vielen Dank :) – Khushboo

0

Wenn die Grenze von Objekten völlig klar sind, und Sie haben ein binäres Bild in img Sie Gauss-Filterung vermeiden können und tun nur diese Zeile:

labeled, nr_objects = ndimage.label(img) 
Verwandte Themen