Binary BufferedImage automatisch croppen

TiME-SPLiNTER

Aktives Mitglied
Hallo ihr Java-Spezialisten :)

Ich versuche mich gerade an folgendem: Ich habe ein BufferedImage vom Typ TYPE_BYTE_BINARY. Also nur noch schwarz und weiss. Jetzt möchte ich das Bild so zuschneiden, dass der weisse Rand um das Sujet so weit als möglich abgeschnitten wird.

Ich habe nun schon stunden im Internet gesucht aber nichts gefunden. Mein Ansatz war, die Datei als Bytestream austzugeben und den Stream zu analysieren und dann selbst zu croppen. Aber mir reichen dafür die Kenntnisse über den Bytestream der von diesem BufferedImage kommt nicht aus.

Gibt es dazu eine fertige Klasse oder einen einfachen Ansatz?

Würde mich über eine schnelle Hilfe oder einen guten Hinweis super freuen :D...
 

Marco13

Top Contributor
Alle Pixel durchgehe, schwarzen Bereich erkennen
Code:
int minX = Integer.MAX_VALUE;
int maxX = -1;
int minY = Integer.MAX_VALUE;
int maxY = -1;
for (all pixels (x,y))
{
    if (pixel is black)
    {
        minX = Math.min(minX, x);
        maxX = Math.max(maxX, x);
        minY = Math.min(minY, y);
        maxY = Math.max(maxY, y);
    }
}
dann mit BufferedImage.getSubImage den Bereich rausholen...
 

TiME-SPLiNTER

Aktives Mitglied
Der Pseudo-Code ist schön und gut :)... aber ich habe eben gerade bei

Code:
if (pixel is black)

und

Code:
all pixels

Keine Ahnung wie ich das genau machen kann.

Für alle Pixel habe ich bisher folgendes:

Code:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
			try {
				ImageIO.write(imgop.getBinaryImage(), "jpg", baos);
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			byte[] bytesOut = baos.toByteArray();
			for(byte b : bytesOut) {
				System.out.println(b);
			}

Aber ich weiss nicht, ob das wirklich die Pixel sind...
 

Marco13

Top Contributor
Code:
for (int x=0; x<bufferedImage.getWidth(); x++)
{
    for (int y=0; y<bufferedImage.getHeight(); y++)
    {
        int pixel = bufferedImage.getRGB(x,y);
        if (pixel == 0)
        { 
            ...
        }
    }
}
 

TiME-SPLiNTER

Aktives Mitglied
Oke vielen Dank :). Nun bin ich der Sache schon um einiges näher gekommen :D. Ich habe aber RGB-Werte die entweder -1 oder -16777216.

Code:
195/52 RGB:-1
195/53 RGB:-16777216

Eine Abfrage auf 0 würde somit nicht ziehen. Oder ist das so beabsichtigt?

EDIT: Oke anstatt auf == 0 muss man auf == -16777216 abfragen, Dann klappts super :D. Vielen Dank für deine super Hilfe :D.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
KonradN Mal eine Frage zu Binary Serialization Allgemeine Java-Themen 15
D Selenium - cannot find Chrome binary Allgemeine Java-Themen 6
M File Binary Representation Allgemeine Java-Themen 1
B Garbage Collection Logfile: Binary File Allgemeine Java-Themen 2
S String zu binary und zurück - Problem mit unsigned/signed bytes Allgemeine Java-Themen 2
H Binary File Output Allgemeine Java-Themen 15
H String in binary umwandeln? Allgemeine Java-Themen 6
V "Java(TM) Platform SE binary funktioniert nicht mehr" Allgemeine Java-Themen 5
T (Binary)Datei einlesen, Inhalt ändern, Datei schreiben Allgemeine Java-Themen 4
E Binary file einlesen Allgemeine Java-Themen 1
A Class File zur Laufzeit laden ohne den Binary Name zu kennen Allgemeine Java-Themen 11
G BitSet to binary Allgemeine Java-Themen 4
D BufferedImage resize Allgemeine Java-Themen 16
RalleYTN JOGL Texture in BufferedImage konvertieren Allgemeine Java-Themen 1
M Input/Output BufferedImage vertauscht width und height Allgemeine Java-Themen 6
G BufferedImage und ByteArray Allgemeine Java-Themen 2
P Threads BufferedImage, Thread Concurrency Allgemeine Java-Themen 1
M Problem mit BufferedImage und PrinterJob im Querformat Allgemeine Java-Themen 1
T BufferedImage verändert sich beim Einlsesen Allgemeine Java-Themen 1
M BufferedImage toString() überschreiben Allgemeine Java-Themen 5
Thallius PDF von einem BufferedImage erstellen Allgemeine Java-Themen 1
S BufferedImage vergleich mit Subimage Allgemeine Java-Themen 1
reibi OutOfMemoryError bei Behandlung von BufferedImage's Allgemeine Java-Themen 6
TheSorm BufferedImage spiegeln Allgemeine Java-Themen 3
A BufferedImage einzelne Pixel transparent machen V2.0 Allgemeine Java-Themen 2
S Undoable BufferedImage? Allgemeine Java-Themen 2
lumo 2D-Grafik BufferedImage und operationen darauf Allgemeine Java-Themen 2
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
H BufferedImage Invertieren Allgemeine Java-Themen 13
D md5 berechnen für BufferedImage Allgemeine Java-Themen 5
D BufferedImage rotieren Allgemeine Java-Themen 8
F byte[] aus einem BufferedImage Allgemeine Java-Themen 3
0 BufferedImage - Farbton verändern Allgemeine Java-Themen 5
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
T umwandeln BufferedImage to File Allgemeine Java-Themen 7
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
Q BufferedImage enzelne Pixel tranzparent machen Allgemeine Java-Themen 2
S BufferedImage mit Transparenten Hintergrund Allgemeine Java-Themen 4
Z Farbe des Pixels rechts unten in einem BufferedImage? Allgemeine Java-Themen 4
R problem! bufferedimage speichern. Allgemeine Java-Themen 7
S BufferedImage als *.tga speichern Allgemeine Java-Themen 3
H Pixel im BufferedImage Manipulieren ? Allgemeine Java-Themen 17
Steev BufferedImage und setRGB() Allgemeine Java-Themen 10
P miese performance bei nem BufferedImage + repaint :( Allgemeine Java-Themen 6
M Drucken mit BufferedImage Allgemeine Java-Themen 9
M Problem mit Durchsuchen von BufferedImage Allgemeine Java-Themen 10
I BufferedImage etc Allgemeine Java-Themen 6
F BufferedImage -> Image Allgemeine Java-Themen 4
G BufferedImage benutzen Allgemeine Java-Themen 6
U BufferedImage.getSubimage ? paintComponent ? Allgemeine Java-Themen 4
T Bilder schnell in BufferedImage laden Allgemeine Java-Themen 4
G BufferedImage zeichnen Allgemeine Java-Themen 4
T BufferedImage aus einem byte-Array? Allgemeine Java-Themen 2
T BufferedImage problem Allgemeine Java-Themen 6
K 32-Bit grayscale BufferedImage Allgemeine Java-Themen 2
T Geschwindigkeit bei Polygonen und BufferedImage Allgemeine Java-Themen 9
J Linux .jar beim Start automatisch ausführen Allgemeine Java-Themen 6
F Sich automatisch aufrufende Java-Methoden Allgemeine Java-Themen 2
P Strukturänderungen/abnormalien in Logfiles automatisch erkennen Allgemeine Java-Themen 5
F Java automatisch ausführen Allgemeine Java-Themen 3
ms_cikar RS232 Serielle Baudrate automatisch einstellen Allgemeine Java-Themen 1
M String automatisch in nächste Zeile umbrechen (Graphics) Allgemeine Java-Themen 6
L Prozess automatisch beenden Allgemeine Java-Themen 8
T Automatisch Mails versenden Allgemeine Java-Themen 4
B automatisch benannte arrays erstellen Allgemeine Java-Themen 9
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
F paintComponent() nicht automatisch ausführen? Allgemeine Java-Themen 5
das-mo Dokument automatisch ausfüllen Allgemeine Java-Themen 8
L Links aus dem Inet-Browser automatisch anklicken lassen Allgemeine Java-Themen 5
A Jasperreports automatisch ausführen lassen Allgemeine Java-Themen 5
A Login-Daten Formular automatisch ausfüllen Allgemeine Java-Themen 10
S Programm das automatisch ungenutzten Source-Code entfernt..? Allgemeine Java-Themen 4
Iron Monkey JNLP nach Änderung automatisch aktualisieren Allgemeine Java-Themen 18
F Klassendiagramm / UML Diagramm automatisch erstellen Allgemeine Java-Themen 3
F WebBrowser Button automatisch drücken Allgemeine Java-Themen 5
K Eclipse automatisch Projekte cleanen und builden lassen Allgemeine Java-Themen 5
N Jlabel automatisch anpassen Allgemeine Java-Themen 3
M Java Klasse automatisch starten Allgemeine Java-Themen 3
V Java-Programm automatisch starten Allgemeine Java-Themen 2
B Abfrage ob JRE installiert ist, JAR automatisch starten Allgemeine Java-Themen 5
S Automatisch SerialUIDs einfuegen? Allgemeine Java-Themen 2
M KML Datei automatisch erzeugen Allgemeine Java-Themen 3
G Objekte automatisch casten Allgemeine Java-Themen 10
Escorter StringBuilder automatisch? Allgemeine Java-Themen 7
C Bilder automatisch bearbeiten/manipulieren Allgemeine Java-Themen 2
J Itext , Spaltenbreite automatisch anpassen ? Allgemeine Java-Themen 4
C JTree: Nodes automatisch öffnen Allgemeine Java-Themen 2
X Punktwolke im euklidischen Raum automatisch clustern. Allgemeine Java-Themen 2
M Gibt es ein Jar - das alle Componente Automatisch anpasst? Allgemeine Java-Themen 14
P Button automatisch drücken Allgemeine Java-Themen 5
G Dienst automatisch angehalten Allgemeine Java-Themen 2
D IE6 schließt automatisch nach Installieren des Java 1.6.0_02 Allgemeine Java-Themen 7
G JRE automatisch downloaden und installieren Allgemeine Java-Themen 4
L Java app läuft under win xp, automatisch auch unter vista32 Allgemeine Java-Themen 14
G UML automatisch erzeugen lassen Allgemeine Java-Themen 2
S Java greif automatisch auf Classpath zu Allgemeine Java-Themen 2
B Html Formulare mittels Java automatisch senden Allgemeine Java-Themen 5
B Schlüssel von Java automatisch generieren lassen. Allgemeine Java-Themen 4
L Per IText erstelltes PDF automatisch drucken Allgemeine Java-Themen 13
S Array "automatisch" füllen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben