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.

  • Pandas transform () vs apply ()
  • Probabilistische Hough-Transformation in OpenCV 2.4.9 (Python)
  • Die Ausgabe von meinem C ++ OpenCV Hough Circle Detection und von meinem Python OpenCV Hough Circle Detection ist anders
  • OpenCV Hough Circle Transform benötigt 8-Bit-Bild
  • OpenCV Python HoughCircles Fehler
  • 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?
  • Prüfen Sie, ob zwei Artikel in einer Liste sind, in einer bestimmten Reihenfolge?
  • In Python, wie finde ich gemeinsame Wörter aus zwei Listen bei der Erhaltung der Wortordnung?
  • 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?
  • Wie man zählt dict von Gegenständen, sondern beibehalten die Reihenfolge, in der sie erscheinen?
  • 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.