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/ | ||