Lesezeit von analoger Uhr mit Hough Line Transform in Python (OpenCV)

Ich habe versucht, ein Programm zu schreiben, das das Gesicht der Uhr auf dem Bild lokalisiert und dann fortfährt, Zeit von ihm zu lesen. Lokalisierung funktioniert ziemlich gut, Lesezeit – nicht so sehr.

Die Funktion cv2.HoughLines gibt die Winkel zurück, an denen die Zeilen liegen (Messung von der Oberseite des Bildes) und deren Abstand von der oberen linken Ecke des Bildes. Nach ein bisschen Tweaking habe ich es geschafft, meinen Code zu überzeugen, um eine einzelne Zeile für jede Uhr der Uhr zu finden, aber wie jetzt bin ich nicht in der Lage, tatsächlich Zeit von ihm zu lesen.

  • Die Ausgabe von meinem C ++ OpenCV Hough Circle Detection und von meinem Python OpenCV Hough Circle Detection ist anders
  • Pandas transform () vs apply ()
  • OpenCV Python HoughCircles Fehler
  • Peak-Finding-Algorithmus für Python / SciPy
  • OpenCV Hough Circle Transform benötigt 8-Bit-Bild
  • Erkennung von berührenden / überlappenden Kreisen / Ellipsen mit OpenCV und Python
  • Mit geeigneten Formeln konnte ich einen Schnittpunkt von diesen Linien (Mitte der Uhr) finden und dann die Hände in beide Richtungen gleichzeitig durchführen. Dies könnte mir sagen, die Länge jeder Hand (erlaubt mir, sie auseinander zu teilen) sowie in welcher Richtung sind sie zeigen. Ich bin ziemlich zögernd, diese Lösung zu implementieren – nicht nur scheint es irgendwie hässlich, sondern schafft auch gewisse Risiken. Zum Beispiel: Probleme mit Rundungen könnten dazu führen, dass das Programm das falsche Pixel überprüft und das Ende der Zeile vorzeitig findet.

    Also, würdest du eine alternative Lösung vorschlagen?

  • Wie bekomme ich Wörterbücher in pymongo?
  • Wie bekomme ich eine Liste in einem Wörterbuch mit json.dumps ()
  • Der richtige Weg, um einen OrderedDict mit seinem Konstruktor zu initialisieren, so dass er die Reihenfolge der Anfangsdaten behält?
  • Erstellen von Wörterbüchern zur Auflistung der Rangordnung
  • Bestellt Sets Python 2.7
  • Python-Wörterbuch, wie man Schlüssel / Werte in der gleichen Reihenfolge wie deklariert halten?
  • One Solution collect form web for “Lesezeit von analoger Uhr mit Hough Line Transform in Python (OpenCV)”

    Ich habe es geschafft, mein Problem zu lösen.

    Ich habe versucht, Hough Line Transform zu verwenden, wo ich Hough Probabilistic Transform verwenden sollte. In dem Augenblick, in dem ich es bekam, gruppierte ich die Linien, die auf ähnliche Funktionen gezogen waren, sortiert sie nach Länge und benutzten arcsine sowie Orte ihrer Enden, um genaue Grade bei wchich Hände zu finden.

    Python ist die beste Programmiersprache der Welt.