Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projekte:vector_graphics_adapter [2015/12/06 19:12] – [Benuntzung] da1l6 | projekte:vector_graphics_adapter [2024/12/30 12:17] (aktuell) – da1l6 | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
Eine Soundkarte ist im Prinzip ein Digital-Analog Wandler, hat jedoch Tiefpassfilter welche zwar die Audio-Qualität erhöhen, aber die Geschwindigkeit mit welcher der Elektronenstrahl bewegt werden kann eng limitiert. Außerdem sind in der Regel Koppelkondensatoren verbaut, welche den für Lautspecher schädlichen Gleichstromanteil entfernen. | Eine Soundkarte ist im Prinzip ein Digital-Analog Wandler, hat jedoch Tiefpassfilter welche zwar die Audio-Qualität erhöhen, aber die Geschwindigkeit mit welcher der Elektronenstrahl bewegt werden kann eng limitiert. Außerdem sind in der Regel Koppelkondensatoren verbaut, welche den für Lautspecher schädlichen Gleichstromanteil entfernen. | ||
- | Dadurch verliert die Grafik jedoch den Nullpunkt und wabert um den Mittelpunkt aller Vektoren falls sie nicht gut auf diese Gegebenheiten angestimmt wird. | + | Dadurch verliert die Grafik jedoch den Nullpunkt und wabert um den Mittelpunkt aller Vektoren falls sie nicht gut auf diese Gegebenheiten angestimmt wird. |
- | Doch der PC besitzt ja meist noch einen weiteren Digital-Analog-Wandler: | + | {{ : |
+ | Doch der PC besitzt ja meist noch einen weiteren Digital-Analog-Wandler: | ||
Der VGA-Port kann die Bilddaten auch mit sehr hoher Geschwindigkeit (> 100MHz) ausgeben, davon kann man bei Soundkarten nur träumen. Auch stöhrende Ausgangsfilter gibt es nicht. Damit ist er fast ideal für komplexe Vektor-Darstellungen geeignet. | Der VGA-Port kann die Bilddaten auch mit sehr hoher Geschwindigkeit (> 100MHz) ausgeben, davon kann man bei Soundkarten nur träumen. Auch stöhrende Ausgangsfilter gibt es nicht. Damit ist er fast ideal für komplexe Vektor-Darstellungen geeignet. | ||
Zeile 15: | Zeile 16: | ||
==== Funktionsprinzip / Software ==== | ==== Funktionsprinzip / Software ==== | ||
- | * Die Vektorisierung ist als [[https:// | + | * Die Vektorisierung ist als [[https:// |
* Das Video (oder Bild) wird mittels [[https:// | * Das Video (oder Bild) wird mittels [[https:// | ||
- | | + | |
- | * Alternativ kann der edgedetect | + | |
* Anschließend wird ein weiterer Videofilter nachgeschaltet, | * Anschließend wird ein weiterer Videofilter nachgeschaltet, | ||
* Dieser Filter basiert auf dem OpenCV FindContours funktion, welche die Kanten als Vektor-Pfad extrahiert. | * Dieser Filter basiert auf dem OpenCV FindContours funktion, welche die Kanten als Vektor-Pfad extrahiert. | ||
- | * Der Vektorpfad wird anschließend als " | + | * Der Vektorpfad wird anschließend als " |
* Der ffmpeg edgedetect Filter liefert einen Intensitätswert, | * Der ffmpeg edgedetect Filter liefert einen Intensitätswert, | ||
- | * Bei der Umsetzung in das Vektorbild wird dies berücksichtigt indem der Anteil an der koordinaten | + | * Bei der Umsetzung in das Vektorbild wird dies berücksichtigt indem der Anteil an der Koordinaten |
* Je kleiner der Anteil desto schneller überstreicht der Elektronenstrahl die Kante und desto dunkler erscheint Sie. | * Je kleiner der Anteil desto schneller überstreicht der Elektronenstrahl die Kante und desto dunkler erscheint Sie. | ||
- | * Damit ist möglich die Helligkeit auch ohne Z-Eingang verändern. | + | * Damit ist es möglich die Helligkeit auch ohne Z-Eingang verändern. |
- | * In der unteren linken Ecke (0,0) erscheint ein heller Punkt, dies ist Folge der Austastlücken (" | + | * In der unteren linken Ecke (0,0) erscheint ein heller Punkt, dies ist eine Folge der Austastlücken (" |
* Um den Phosphor des Oszilloskop zu schonen sollte dieser außerhalb des sichtbaren Bereiches der Röhre bewegt werden. | * Um den Phosphor des Oszilloskop zu schonen sollte dieser außerhalb des sichtbaren Bereiches der Röhre bewegt werden. | ||
- | + | * Beispiel " | |
- | ==== Benuntzung | + | |
+ | ==== Benutzung | ||
* Zunächst das VGA Timing so einstellen das möglichst wenig störende H-Blanks erzeugt werden: < | * Zunächst das VGA Timing so einstellen das möglichst wenig störende H-Blanks erzeugt werden: < | ||
xrandr --addmode VGA1 scope | xrandr --addmode VGA1 scope | ||
xrandr --output VGA1 --mode scope --right-of < | xrandr --output VGA1 --mode scope --right-of < | ||
- | * ffmpeg | + | * ffmpeg |
- | * opencv | + | * opencv3 |
- | * Modifizierter mpv media player: '' | + | * Modifizierter mpv media player: '' |
* Beispielaufruf: | * Beispielaufruf: | ||
- | * Mit ffmpeg Kantenerkennung: | + | * < |
- | * Mit openCV Kantenerkennung:< | + | * Die optimalen werte für low und high können je nach Material variieren. Einfach ausprobieren. |
- | * Die optimalen werte für t1 (bzw. low) und t2 (bzw. high) können je nach Material variieren. Einfach ausprobieren. | + | * Der Canny-Algorithmus ist sehr Rechenintensiv, |
- | * Der Canny Algorithmus | + | |
+ | ===== Cheating at Vector Graphics - Rastergrafik ===== | ||
+ | {{ : | ||
+ | |||
+ | Der bei der Vektorgrafik benutzte Trick zur Helligkeitsänderung kann benutzt werden um Rastergrafik auszugeben. | ||
+ | |||
+ | Dabei werden die X/ | ||
+ | |||
+ | Helligkeitsunterschiede werden mittels Geschwindigkeitsänderung erzeugt. Helle Breiche werden langsamer überstrichen als dunkle indem die entsprechnden Koordinaten im " | ||
+ | |||
+ | ==== Benutzung ==== | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== Screen Capture ==== | ||
+ | {{ : | ||
+ | |||
+ | Das funktioniert prinzipiell sowohl im Raster als auch im reinen Vektorgrafikmodus. Das bild Rechts ist mit dem Rastergrafik modus entstanden. | ||
+ | |||
+ | < | ||
+ | |||
+ | Video Eingänge wie TV-Karten oder Webcams lassen sich auch abgreifen: | ||
+ | < | ||
+ | |||
+ | ===== Digitaloszilloskop ===== | ||
+ | |||
+ | Wer kein analoges Oszilloskop sein eigen nennt kann auch ein modernes digitales Oszilloskop verwenden, allerdings sind die Darstellungsergebnisse deutlich schlechter. Insbesondere der Rastergrafik-Modus ist kaum zu verwenden. | ||
+ | |||
+ | Die Ursache liegt darin, dass digitale Oszilloskope periodisch das Eingangssignal abtasten | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | === DSO Tipps: === | ||
+ | * Eine hohe Bildwiederhohlrate einstellen | ||
+ | * Ein möglichst breites Seitenverhältniss verwenden um wenig H-Blanks zu haben (ist immer gut). | ||
+ | * Geringe Speichertiefe einstellen (e.g. ~7kPoints). | ||
+ | * Mit der Samplerate rumspielen bis so wenig " | ||
+ | |||
+ | ===== Unsere anderen VGA-zu-Oszilloskop Projekte ===== | ||
+ | * [[https://github.com/ |