Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Einfarbiges Bereich im oberen Teil einer JPG ausschneiden? (https://www.delphipraxis.net/175792-einfarbiges-bereich-im-oberen-teil-einer-jpg-ausschneiden.html)

romber 18. Jul 2013 22:15

Einfarbiges Bereich im oberen Teil einer JPG ausschneiden?
 
Hallo!

Ich habe da mehrere tausend Bilder im JPEG-Format. Bei den Bildern handelt es sich um 16:9-Fotos, die ganz blöd auf dem einfarbigen 4:3-Hintergundbild platziert wurden. Die Hintergrundfarbe ist von Bild zu Bild unterschiedlich genau so wie Höhe des Hintegrundbereichs über dem Foto. Nun muss ich die Bilder dynamisch und möglichst performant laden und so darstellen, dass nur das tatsächliche Panorama-Foto ohne Hintegrund angezeigt wird. Geht das irgendwie?

Aphton 19. Jul 2013 00:22

AW: Einfarbiges Bereich im oberen Teil einer JPG ausschneiden?
 
Kannst du mindestens 3 (verschiedene) Bilder posten?
Eig. sollte das, so wie ich das verstanden habe, ganz einfach zu lösen sein!

Sir Rufo 19. Jul 2013 00:33

AW: Einfarbiges Bereich im oberen Teil einer JPG ausschneiden?
 
Das geht genau so, wie man das auch per Hand machen würde.

Zeile für Zeile die Pixel-Farbe abfragen (Scanline)
Solange wie alle Pixel einer Zeile, die gleiche Farbe wie der Pixel an 0,0 dann muss diese Zeile auch entfernt werden.

Es gab hier vor kurzem schon mal so eine Frage, wo ein Bild freigestellt werden sollte.
Genau damit kann man das hier auch lösen ;)

BUG 19. Jul 2013 00:59

AW: Einfarbiges Bereich im oberen Teil einer JPG ausschneiden?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1221991)
Es gab hier vor kurzem schon mal so eine Frage, wo ein Bild freigestellt werden sollte.

Hier ist der Tread.

Es könnte noch Probleme mit der verlustbehafteten Kodierung geben, so dass die Ränder nicht wirklich überall einfarbig sind.
Insbesondere an den Kanten zwischen Bild und Hintergrund könnten Artefakte auftreten.

Der schöne Günther 19. Jul 2013 08:48

AW: Einfarbiges Bereich im oberen Teil einer JPG ausschneiden?
 
Zitat:

Zitat von romber (Beitrag 1221987)
Bei den Bildern handelt es sich um 16:9-Fotos, die [...] 4:3-Hintergundbild platziert wurden

Warum ist die Höhe dann unterschiedlich? Wenn die absolute Auflösung der Bilder schwankt, dann schon - Aber das Verhältnis ist doch immer gleich?

Durch die JPEG-typische Blockcodierung wirst du wahrscheinlich nirgends einen vernünftigen Rand sondern immer verschmierte Übergänge haben. Soweit ich nichts falsch verstanden habe, würde ich mir erst gar nicht irgendwelche Farben ansehen: Ein 16:9 Bild füllt einen 4:3-Rahmen aus. Unabhängig von der Auflösung, das Verhältnis des Rahmens oben und unten den man abschneiden muss ist doch immer gleich?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz