Kann man ein TV Signal scannen

S

Sorben Aila

Gast
Hallo zusammen,
Ich habe folgende Problemstellung und hoffe das ich hier richtig bin.

Es geht um das scannen eines TV Bildes, ich bekomme ein TV Bild mit einer Tabelle (Aktuelle Rundenzeiten eines Autorennens) über einen TV USB Stick, dieses Bild ändert sich ca. alle 2 Minuten.
Nun möchte ich dieses Bild scannen und die Reihe mit den Daten meines Autos heraus kopieren und in eine eigene "Tabelle" einfügen und das jedes mal wenn sich die Daten aktualisieren.

Frage 1: Kennt jemand eine Möglichkeit in Java ein TV Bild zu scannen
Frage 2: Kann ich dann den Scan nach vorher festgelegten Parametern durchsuchen und das Ergebnis als Datensatz speichern.

Bin Gespannt auf die Antwort

Gruss aus Köln

Sorben
 
H

Herr K.

Gast
Hallo Sorben,

ist (theoretisch) machbar, allerdings nicht "echt vollständig" in Java.

Das erste Problem ist der USB-TV-Stick. Der braucht natürlich Treiber und die sind für ein Betriebssystem und nicht für Java. Sicher wird der nicht unter allen Betriebssystemen laufen, bestimmt unter Windows, vielleicht auch unter MacOS und Linux, aber AIX oder BSD? Eher nicht.
Ein Treiber ist die Schnittstelle zwischen der Hardware und dem Betriebssytem. Letzteres kümmert sich eben um die Verwaltung der Hardware und stellt selbst wiederum eine Schnittstelle zu den Anwendungen zur Verfügung, damit diese auf die Hardware zugreifen können.
Damit Du jetzt an den USB Stick bzw. besser gesagt dessen Bild kommst, brauchst Du jetzt also einen Zugriff auf eine solche Schnittstelle. Welche das ist hängt vom Treiber ab. Es kann eine ganz spezielle Eigenentwicklung sein, die undokumentiert ist und nur von genau einer Anwendung wird das Bild korrekt dekodiert oder (was wahrscheinlicher ist), es wird eine existierende Schnittstelle genutzt die auf die Anzeige von Bildern ausgelegt ist (DirectX oder Twain oder was auch immer, keine Ahnung was man da nimmt, lässt sich aber per google sicher rausfinden).
Für Dich ist in dem Fall eine Java-<Schnittstelle der OS Anbindung> Brücke wichtig. Im schlimmsten Fall per JNI und einem C-Wrapper, im Besten Fall durch eine existierende Lösung (die ist erprobt und fertig, nutzt aber sicher auch eine Schnittstelle um auf die nativen Bibliotheken zuzugreifen).

Diese Schnittstelle bestimmt dann auch, was Du als Bild bekommst. Es kann sein, dass die Schnittstelle Dir direkt ein Bild in den Speicher schreibt oder es gleich komprimiert als JPEG oder Tiff zur Verfügung stellt. In jedem Fall solltest Du eine Möglichkeit finden an die Bilddaten zu kommen. Der Einfachheit halber gehen wir mal von einer Matrix aus Bildpunkten aus, Du kennst die Anzahl der Zeilen und die Breite.

Jetzt gilt es den gesuchten Text in einem Bild zu finden. Dazu verwendet man OCR (Optical Character Recognition), das ist Dein Scanner. Auch hier solltest Du eine fertige Lösung suchen und prüfen ob und wie ein SDK (Software Development Kit) dazu aussieht. Letzteres bestimmt die Schnittstelle, die Du nutzen musst um an die Informationen zu kommen. Hier kannst Du vielleicht eine Lösung für Java finden (die wirst Du entsprechend direkt einbinden können), vielleicht aber auch einen Wrapper für ein spezielles Produkt oder Du musst letzeren selbst schreiben.

Wenn Du nun alles zusammen nimmst, dann hast Du eine Lösung (die leider alles andere als einfach ausfallen dürfte).
 

SorbenAila

Neues Mitglied
Hallo Herr K.

danke für die schnelle und detaillierte Antwort, das hilft mir schon mal weiter!

Da das einlesen der Daten bzw. das TV Bild auf einem Windows Rechner befinden soll, werde ich mich als Erstes auf die Suche nach einem geeigneten TV-USB Stick machen, mit einem Standard Treiber für eine Standard Schnittstelle, auf die ich dann zugreifen kann und die mir im Idealfall ein TIFF liefert.
Dann mache ich mich auf die Suche nach einer OCR Software, welche mir die benötigten Daten aus dem TIFF liefert.
Das wird alles auf dem Win OS stattfinden, das Ergebnis muss ich dann nur noch dann "nur noch" an die noch zu entwickelnde Java-Application auf dem Android Tablet-PC senden und schon habe ich die jeweiligen Rundenzeiten aus dem Fernseher kopiert.

Hab ich das so richtig verstanden, theoritisch sollte das also so möglich sein?

Danke
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben