Klassifizieren Digits
Sie in den Kommentaren zu klären, die Sie bereits die Nummer Teil des Bildes Vorerfassungskombinatoren isoliert habe, so werde ich unter dieser Annahme aus.
Vielleicht können Sie die perspektivische Effekte und "Verschwommenheit" der Zahl annähern, indem Sie es als handschriftliche Nummer behandeln. In diesem Fall gibt es einen berühmten Datensatz handgeschriebener Zahlen für das Klassifikationstraining namens mnist.
Yann LeCun hat hier den Stand der Technik zu diesem Datensatz mnist hand-written dataset aufgezählt.
Am Ende des Spektrums ergeben faltungsneurale Netzwerke outrageously low error rates (Bruchstellen von 1% Fehler). Für eine einfachere Lösung ergaben k-nächste Nachbarn unter Verwendung von Entzerrung, Rauschentfernung, Unschärfe und 2-Pixel-Verschiebung einen Fehler von etwa 1% und sind wesentlich schneller zu implementieren. Python opencv has an implementation. Neuronale Netzwerke und Support-Vektor-Maschinen mit Entzerrung haben auch einige ziemlich beeindruckende Leistungswerte.
Beachten Sie, dass bei Convolutional Networks keine eigenen Features ausgewählt werden müssen. Daher können die wichtigen Farbdifferenzinformationen hier nur zum Einschränken der Region of Interest verwendet werden. Andere Ansätze, bei denen Sie Ihren Merkmalsraum definieren, können den bekannten Farbunterschied genauer einbeziehen.
Python unterstützt eine Menge maschineller Lerntechniken im grandiosen Paket sklearn - here are examples of sklearn applied to mnist. Wenn Sie sich für eine tutorialized Erklärung des maschinellen Lernens in Python, sklearn's own tutorial is very verbose
Vom sklearn Link: 
Das sind die Arten von Elementen Sie versuchen zu klassifizieren, wenn Sie mit diesem lernen Ansatz. Um zu betonen, wie einfach es zu starten ist, einige dieser Maschine lernbasierte Klassifizierer trainiert, hier ist ein gekürzter Abschnitt aus dem Beispielcode in dem verknüpften sklearn Paket:
digits = datasets.load_digits() # built-in to sklearn!
data = digits.images.reshape((len(digits.images), -1))
# Create a classifier: a support vector classifier
classifier = svm.SVC(gamma=0.001)
# We learn the digits on the first half of the digits
classifier.fit(data[:n_samples/2], digits.target[:n_samples/2])
Wenn Sie vermählt OpenCV (möglicherweise, weil Sie wollen in Zukunft auf ein Echtzeitsystem portieren), opencv3/python has a tutorial on this exact topic too! Ihre Demo verwendet k-nearest-neighbor (aufgelistet auf der LeCun-Seite), aber sie auch have svms und die vielen anderen Tools in sklearn.Ihre ocr Seite SVM mit verwendet Deskewing, die mit der Perspektive Wirkung in Ihrem Problem nützlich sein könnte:

UPDATE: habe ich die out-of-the-Box skimage oben geschilderten Ansatz auf Ihr Bild, stark beschnitten, und es korrekt klassifiziert. Ein viel mehr Tests erforderlich wäre, um zu sehen, ob diese Praxis Rhobust in ist

^^ Das kleine Bild der 8x8 Ernte des Bildes ist, dass Sie in Ihrer Frage eingebettet. Mist ist 8x8 Bilder. Deshalb trainiert es in weniger als einer Sekunde mit Standardargumenten in skimage.
ich konvertiert es das richtige Format, indem sie es bis zum mnist Bereich Skalierung mit
number = scipy.misc.imread("cropped_image.png")
datum = (number[:,:,0]*15).astype(int).reshape((64,))
classifier.predict(datum) # returns 8
ich nichts anderes aus dem Beispiel geändert haben; Hier verwende ich nur den ersten Kanal für die Klassifizierung und keine Smart-Feature-Berechnung. 15 sah mich richtig an; Sie stimmen müssen sie innerhalb des Zielbereiches oder (im Idealfall) geben Sie Ihre eigene Ausbildung und Prüfung setzte
Objekterkennung
Wenn Sie die Nummer nicht in dem Bild, isoliert haben erhalten Du brauchst einen Objektdetektor. Der Literaturraum zu diesem Problem ist gigantisch und ich werde nicht mit diesem Kaninchenloch anfangen (google Viola und Jones, vielleicht?) This blog deckt die Grundlagen eines "gleitenden Fenster" -Detektors in Python ab. Adrian Rosebrock sieht aus, als hätte er sogar einen Beitrag zu SO geleistet, und auf dieser Seite gibt es einige gute Beispiele für OpenCV- und Python-basierte Objektdetektoren, die ziemlich angelernt sind (du hast in deiner Frage tatsächlich mit diesem Blog in Verbindung gestanden, was ich nicht bemerkt habe).
Kurz gesagt, klassifizieren Sie Fenster über das Bild und wählen Sie das Fenster mit der höchsten Zuverlässigkeit. Eingrenzung der Suchraum nach unten mit einer Region von Interesse wird natürlich Ausbeute enorme Verbesserungen in allen Bereichen der Leistung
Multi-Skala wird Ihnen nicht helfen, das Bild klarer, leider zu lösen. Darüber hinaus müssen Sie entweder mehrere Schriftarten erkennen oder die zu erkennenden Schriftarten priorisieren (z. B. die oben genannte Zahl). Check out [diese Frage] (http://stackoverflow.com/questions/7765810/is-there-a-way-to-detect-if-an-image-is-blurry) – Aaron3468
Hier sind einige der neuesten Forschungsansätze: 1) [Mehrstellige Zahlenerkennung von Street View-Bildern unter Verwendung von Deep Convolutional Neural Networks] (http://research.google.com/pubs/pub42241.html); 2) [Text in freier Wildbahn lesen] (http://www.robots.ox.ac.uk/~vgg/research/text/). Ein tiefes konvolutionelles neuronales Netzwerk ist der gemeinsame Baustein für diese Ansätze. – Jon