farbbild_-_graubild_-_binaerbild
                Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| farbbild_-_graubild_-_binaerbild [2024/01/20 09:10] – [Beispiel] torsten.roehl | farbbild_-_graubild_-_binaerbild [2024/01/20 09:26] (aktuell) – [Beispiel] torsten.roehl | ||
|---|---|---|---|
| Zeile 41: | Zeile 41: | ||
| </ | </ | ||
| - | |{{ : | + | |{{ : | 
| |< | |< | ||
| Der Krebsnebel zeigt die Überreste einer Supernova (Sternenexplosion). Sie wurde im Jahre 1054 von Chinesen beobachtet.</ | Der Krebsnebel zeigt die Überreste einer Supernova (Sternenexplosion). Sie wurde im Jahre 1054 von Chinesen beobachtet.</ | ||
| Zeile 49: | Zeile 49: | ||
| ===== Umwandlung von Graubildern in Binärbilder ===== | ===== Umwandlung von Graubildern in Binärbilder ===== | ||
| + | |||
| + | == Der Schwellenwert c == | ||
| + | |||
| + | Ein Graubild enthält noch viele verschiedene Grauanteile. Wenn man lediglich zwei verschiedene Farbwerte (schwarz/ | ||
| + | |||
| + | * Alle Grauwerte unterhalb des Schwellenwerts werden schwarz. | ||
| + | * Diejenigen Grauwerte, die größer oder gleich dem Schwellenwert sind, werden weiß. | ||
| + | |||
| + | Das folgende Programm lädt ein Graubild und berechnet den Farbwert (schwarz oder weiß) für einen Pixel an der Stelle x=5, y=4.d.h. die Bildkoordinaten sind (4,3). | ||
| + | ==== Beispiel ==== | ||
| + | |||
| + | <Code Java linenums: | ||
| + | import java.awt.Color; | ||
| + | import de.informatics4kids.Picture; | ||
| + | |||
| + | public class Main { | ||
| + | |||
| + | public static void main(String[] args) { | ||
| + | |||
| + | |||
| + | // testbild.jpg öffnen | ||
| + | Picture pic = new Picture(); | ||
| + | pic.open("/ | ||
| + | // Farbe beziehen | ||
| + | Color color = pic.getColor(4, | ||
| + | // Grauwert berechnen - alle Farbwerte sind gleich! | ||
| + | int g = color.getRed(); | ||
| + | // BInärwert berechnen | ||
| + | int binarvalue; | ||
| + | if (g <= 150) | ||
| + | binarvalue = 0; | ||
| + | else | ||
| + | binarvalue = 255; | ||
| + | |||
| + | // Binärwert in neue Farbe einfügen | ||
| + | Color binarcolor = new Color(binarvalue, | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |{{: | ||
| + | |Das Orginal Graubild.|Binärbild mit Schwellenwert | ||
| ===== Ein wenig ' | ===== Ein wenig ' | ||
| - | ===== ===== | ||
| + | In der Java-Bibliothek existieren zwei Methoden - **brighter()** und **darker()** - mit deren Hilfe ein Farbwert heller beziehungsweise dunkler gesetzt werden kann. | ||
| + | |||
| + | * Color brighter() liefert einen helleren Farbton zurück. | ||
| + | * Color darker() liefert einen dunkleren Farbton zurück. | ||
| + | |||
| + | |||
| + | Da für diese Methoden der Quellcode eingesehen werden kann, können wir unmittelbar nachvollziehen, | ||
| + | |||
| + | |||
| + | |<Code Java linenums: | ||
| + | public Color brighter() { | ||
| + | return new Color(Math.min((int)(getRed() | ||
| + |  | ||
| + |  | ||
| + | } | ||
| + | public Color darker() { | ||
| + | return new Color(Math.max((int)(getRed() | ||
| + |  | ||
| + |  | ||
| + | } | ||
| + | </ | ||
| + | |Codebeispiel aus der Java-Bibliothek. Die Konstante FACTOR hat dabei den Wert 0.7.| | ||
| + | |||
| + | ==== Beispiel ==== | ||
| + | |||
| + | Das folgende Programm lädt ein Bild und  setzt den Bildpunkt an der Stelle x=5, y=4 ein wenig " | ||
| + | <Code Java linenums: | ||
| + | import java.awt.Color; | ||
| + | |||
| + | import de.informatics4kids.Picture; | ||
| + | import de.informatics4kids.PictureViewer; | ||
| + | |||
| + | public class Main { | ||
| + | |||
| + | public static void main(String[] args) { | ||
| + | |||
| + | Picture pic = new Picture(); | ||
| + | pic.open("/ | ||
| + | Color alt = pic.getColor(4, | ||
| + | Color neu = alt.brighter(); | ||
| + | pic.setColor(4, | ||
| + | |||
| + |  | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | Durchläuft man alle Bildpunkte (Pixel) kann man auf diese Weise Bilder // | ||
| + | | {{ : | ||
| + | |Orginal Bild|Die Java-Methode '' | ||
| + | <WRAP center round info 100%> | ||
| + | Wer tiefer einsteigen will, dem sei das Buch //Java Insel (Kapitel ' | ||
| + | </ | ||
farbbild_-_graubild_-_binaerbild.1705741846.txt.gz · Zuletzt geändert:  von torsten.roehl
                
                