AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

Ein Thema von Codix32 · begonnen am 30. Nov 2014 · letzter Beitrag vom 2. Dez 2014
Antwort Antwort
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#1

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 30. Nov 2014, 18:18
Übrigens kann man tatsächlich schärfe Bilder aus Überwachungsaufnahmen extrahieren.
Wie aber schon festgestellt wurde, können die zusätzlichen Informationen nicht aus dem Bild stammen.
Wo kommen sie also her? Aus vorhergehenden und nachfolgenden Frames!

Aber auch das hat seine Grenzen und funktioniert lange nicht so gut wie in Film und Fernsehen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.224 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 30. Nov 2014, 18:25
Übrigens kann man tatsächlich schärfe Bilder aus Überwachungsaufnahmen extrahieren.
Wie aber schon festgestellt wurde, können die zusätzlichen Informationen nicht aus dem Bild stammen.
Wo kommen sie also her? Aus vorhergehenden und nachfolgenden Frames!
Genau. Du hast nicht nur ein sondern mehrere Bilder.
Und neben dem Stream hast du auch noch Informationen wie Belichtung, Helligkeit, ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
TForm1

Registriert seit: 11. Jan 2014
128 Beiträge
 
FreePascal / Lazarus
 
#3

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 30. Nov 2014, 18:53
Und ich dachte, es gibt so was, wie einen virtuellen Scanner, der sozusagen das in einem Grafikprogramm geöffneten Bild wie ein echter Scanner abtastet und dann vergrößert. Wenn es so was gäbe, dann gäbe es auch Algorithmen, die man in Delphi verwenden könnte, was sicherlich nur wenig begabten Programmierern möglich wäre.
Der genannte Effekt beim Scanner liegt wie gesagt in der Ungenauigkeit des Druckers. Das ist sehr typisch für den Vergleich Analog gegen Digital. Im Audiobereich z.B. bei der Klangsynthese macht es z.B. immer noch einen Unterschied ob man einen analogen Synthesizer benutzt oder die gewünschten Klänge mit dem Computer heraus rechnet. Der analoge Synthesizer erzeugt einfach durch seine physikalische Beschaffenheit eine andere Klangfarbe als der digitale, der keinen Fehler macht und vom Prinzip her nur Zahlenwerte miteinander verrechnet. Eben diese "Fehler" sind oft auch gewünscht oder geben einfach andere Möglichkeiten weswegen es immer noch eine Hand voll Leute gibt, die auf Analog schwören.
Übertragen auf dein Problem hieße das: Du kannst den Druckvorgang nicht simulieren, da ein Computer dazu beschaffen ist, absolut zu Rechnen und damit absolut genau zu sein. D.h. jegliche Ungenauigkeit in deinem Bild beruht wieder auf genauen Algorithmen und können nicht durch Zufall entstehen. Natürlich könntest Du dich jetzt an die Arbeit machen und versuchen ein Programm zu schreiben, was wenigsten scheinbar so tut, als sei es zufällig und entsprechend ein ähnliches Ergebnis ausgibt wie die Drucker-Scanner-Methode. Aber ob sich der Aufwand dann auch tatsächlich lohnt sei mal dahingestellt.
Der Fehler sitzt immer vor dem Computer...
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 30. Nov 2014, 20:33
Übrigens kann man tatsächlich schärfe Bilder aus Überwachungsaufnahmen extrahieren.
Wie aber schon festgestellt wurde, können die zusätzlichen Informationen nicht aus dem Bild stammen.
Wo kommen sie also her? Aus vorhergehenden und nachfolgenden Frames!

Aber auch das hat seine Grenzen und funktioniert lange nicht so gut wie in Film und Fernsehen.
Es gibt auch Verfahren, die mit Einzelbildern funktionieren (z.B. BM3D). Dabei wird ausgenutzt, dass die meisten Bilder eine gewisse Selbstähnlichkeit haben, d.h. es wiederholen sich bestimmte Muster oder Strukturen. Daraus kann man dann sozusagen die Information extrahieren und verstärken.

Wird zwar eher zum Denoising und Deblurring eingesetzt, aber die gleichen Prinzipien kann man auch verwenden, um die Auflösung zu erhöhen (kommt ja letztlich alles auf das gleiche raus). Im Anhang sieht man eine von BM3D aus einem stark verrauschten Bild rekonstruierte gestreifte Hose.

Eine andere Strategie ist es, nicht nur innerhalb eines Bildes nach Mustern zu suchen, sondern gleich ganze Datenbanken über bestimmte Themen anzulegen. Wenn du es z.B. nur mit Bildern von Gesichtern zu tun hast, dann haben ja alle Gesichter ähnliche Merkmale (Augen, Nase etc.), und das kannst du auch ausnutzen. Du speist also in deine Datenbank ganz viele Bildausschnitte von Beispiel-Gesichtern ein, jeweils einmal in niedrig aufgelöster (oder verrauschter oder verschommener) Version und einmal den gleichen Ausschnitt in hoher Auflösung. Anschließend kann ein Programm zu einem gegebenen verschommenen Bild Ausschnitte aus dem Bild mit den niedrig aufgelösten Ausschnitten aus der Datenbank abgleichen und dann eine höher aufgelöste Version des Bildes rekonstruieren. Das ist schon ziemlich CSI-mäßig. Natürlich wird dadurch aber nicht wirklich der Informationsgehalt des Bildes erhöht. Im Grunde „rät“ der Algorithmus einfach nur, wie das Original ausgesehen haben könnte.

Aber nein, dein Scanner macht solche Dinge nicht
Angehängte Grafiken
Dateityp: jpg barbara.jpg (89,1 KB, 57x aufgerufen)
  Mit Zitat antworten Zitat
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 30. Nov 2014, 21:42
Letztendlich ist das Scannen eines 96dpi-Bildes mit 600dpi nichts weiter als eine Vergrößerung. Denselben Effekt hat man, wenn man das Bild auf den Tisch legt und eine Lupe drüber hält. Sieht detailreicher aus, ist es aber nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.688 Beiträge
 
Delphi 12 Athens
 
#6

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 30. Nov 2014, 22:02
Entweder habe ich es überlesen oder es wurde noch nicht erwähnt, was denn überhaupt dieses einzuscannende Bild ist. Sollte es ich um ein analoges Foto handeln, dann liegt die Auflösung des Bildes bei ein paar Tausend dpi. Scannt man dieses Bild einmal mit 600 dpi und einmal mit 96 dpi ein und zeigt es in derselben Größe auf einem Bildschirm an, der ebenfalls 96 dpi hat, dann sehen beide Scans erstmal gleich gut aus. Vergrößert man nun die beiden Bilder, dann ist aus dem 96 dpi Scan keine bessere Auflösung herauszuholen und es sieht verpixelt aus. Der 600 dpi Scan hat allerdings noch mehr Details, die durch die Vergrößerung sichtbar werden. Sollte das wider Erwarten nicht der Fall sein, dann ist das Grafikprogramm zu blöd, die reale Auflösung des Bildes für die Vergrößerung zu verwenden und reduziert die Auflösung offenbar schon beim Laden oder Anzeigen des Bildes auf die 96 dpi. Dann hilft nur der Einsatz eines geeigneteren Programms. Der Unterschied im Detailreichtum müsste sich auch drastisch in der Dateigröße der beiden Scans bemerkbar machen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#7

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 1. Dez 2014, 07:50
Haben zwar schon alle gesagt, daß das Unsinn ist, aber hiermit treib ich die CSI-Ermittlungen mal grafisch auf die Spitze:


Sherlock
Angehängte Grafiken
Dateityp: jpg CSI.jpg (52,8 KB, 83x aufgerufen)
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#8

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 1. Dez 2014, 08:00
Also technisch gesehen heißt es beim Drucker dpi (dots per inch) und beim Scanner ppi (pixel per inch) oder spi (samples per inch).
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von smallie
smallie

Registriert seit: 8. Jan 2013
19 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: verpixelte Grafik detailreich darstellen, geht das wirklich nicht?

  Alt 1. Dez 2014, 10:03
Es gibt einige Filter, die die Qualität verpixelter Bilder verbessern können. Stichworte wäre zum Beispiel Lanczos resampling, oder Sinc oder fraktales Resampling.

Es gibt ein Programm, das eine ganze Menge dieser Filter anbietet. Leider ist mir gerade entfallen, wie es heißt, da müßte ich zuhause noch mal nachsehen.

Graphics32 bietet aber auch einige dieser Filter an. Wunder darf man allerdings nicht erwarten.
"There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors."
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz