www.mikrocontroller.net

Forum: FPGA, VHDL & Co. digitale Bildbearbeitung mit Spartan-3


Autor: Mirco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

im Rahmen einer Studienarbeit an der FH-Berlin beschäftige ich mich mit
digitaler Bildbearbeitung mittels FPGA.

Ich bin auf der Suche nach VHDL-Lösungen für Up-/Down-Scaling
(Resizing) zur Anpassung von Grafiken/Video an ein Display. D.H. eine
Grafik/Video in digital RGB-Format soll durch vergrößern/verkleinern an
eine bestimte Display-Auflösung angepasst werden bzw. Ausschnitte sollen
vergrößert/verkleinert werden.

Desweiteren würde mich interessieren wie man die Darstellung von
mehreren Video/Grafik-Layern realisiert. Speziell welche
VHDL-Strukturen wie Buffer, Zähler etc. dafür notwendig sind und wie so
etwas hardwaremässig in etwa auszusehen hat, aber VHDL-Lösungsansätze.

Ich würde mich über Codebeispiele genauso freuen, wie über
Hilfestellungen zur Realisierung, Links oder Beschreibungen über die
Struktur (einfach alle her damit... ;-).

Vielen Dank schon mal im Voraus.

Gruß

Mirco

Autor: Brutus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Puh also ich denke da hast du ne menge arbeit vor dir. Zumal du
anscheinend noch nicht so sehr die ahnung von Hardwareprogrammierung
hast oder? (Das war nicht bös gemeint) Wo du auf jeden fall immer
kostenlose Cores herbekommst ist www.opencores.org
Allerdings befürchte ich, das du auch keine fertigen lösungen für dein
problem findest. Aber nen Blick ist es wert.
Wenn du genauere Fragen hast versuche ich aber natürlich zu helten.

viel erfolg

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf open cores gibt es keine Quellen für derartiges :-)
Andererseits ist das auch nicht so schwer. Ich vestehe das so, daß man
z.B ein 1024x768 einspeist und dann ein 800x600 ausgibt.

Du brauchst im FPGA einen vector für das inputformat (Xin,Yin) und den
Ausgang (Xout, Yout) und einen Buffer, der zumindest mal 3-4 Zeilen
speichern kann. Einfacher sit es natürlci den komplettenbildschirm
speichern zu können und in einen zweiten RAM-Bereich mappen zu können.

Der Rest ist einfach Interpolation: Man lässt einen Zähler über x und y
laufen, nimmt je Koordinate 3 Pixel und bestimmt für alle Farben eine
Kurve. Dann den Interpolationswert über Geradengleichung bilden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.