Wieviel Speicher braucht ein Pixel?

localhost1

Mitglied
Hallo, ich weiß nicht ganz ob das die Frage trifft was ich will:

Ich will ein Bild mit Java zeichnen lassen, es gibt nur Schwarz/weiß allerdings mit graustufen, und zwar 0 weiß bis 255 schwarz(meinetwegen umgekehrt) also 256 verschiedene "Farben" wenn man so will.

Das Bild hat exakt 2201*2201 Bildpunkte. Kann man hierraus den Speicher so einfach berechnen?


ein Bildpunkt wegen der 256 Farben also 1 Byte. dementsprechend kommen insgesamt etwa 4,62 MB raus wegen der 2201*2201 Bildpunkte? Was kommt mit Komprimierung raus(grob)?
 

AlexSpritze

Bekanntes Mitglied
Wie willst du das Bild denn zeichnen lassen?

Und meinst du den Speicher, wenn du das Bild auf die Festplatte geschrieben hast (z.B. als PNG oder JPEG?) oder während du eine Instanz des Bildes in deinem Java-Zeichen-Programm noch im RAM hälst?
 
S

SlaterB

Gast
die Komprimierung kann man offensichtlich nicht pauschal benennen,
ist das ganze Bild weiß, in der Mitte ein grauer einfarbier Kreis, so kann das Bild bestimmt besser komprimiert werden,
als wäre es die 256-Stufen-Variante eines Fotos mit viel Anzeige, z.B. Autogrammkarte von Christian Wulff

edit: egal ob allgemeine Zip-Techniken, oder spezielle Bild-Algorithmen wie jpeg
 
Zuletzt bearbeitet von einem Moderator:

localhost1

Mitglied
Ich meine den Speicher den das Bild auf der Fesplatte braucht.

Gut das mit dem Komprimieren ist ne Sache für sich. Wie sieht es also ohne Komprimierung aus?


Für das Format habe ich mich noch nicht so richtig entschieden, es ist wichtig dass keine Verluste auftreten, habe mir dahingehend sagen lassen ich soll kein jpg nehmen
 
S

SlaterB

Gast
der Speicher auf der Platte hängt vom Format ab,
wenn du kein eigenes hast, etwa 2201*2201 direkt hintereinander ablegst, musst du wohl wenigstens mit etwas Overhead wie einem Header rechnen, in dem Informationen wie Länge/ Breite/ Farben drinsteht

probier doch einfach die bekannten Formate aus, auch welche von Java überhaupt unterstützt werden,
Hintergrundliteratur zu den Formaten wäre wohl günstig, welche komprimieren, welche nicht (png, bmp),

gut, danach fragst du hier wohl gerade, ich persönlich kann das nicht im Detail benennen,
als naheliegender Ausgangspunkt zum voraussichtlichen Abschied noch ein Wiki-Link:
Grafikformat ? Wikipedia
 

hdi

Top Contributor
Die Frage ist auch ob diese Bilddateien nur für dein Programm lesbar sein sollen oder allgemein, d.h. tatsächlich in einem gängigen Bildformat abgespeichert werden müssen. Denn wenn die Dateien nur von deinem Programm interpretiert werden können müssen, kommst du (jetzt mal von Komprimierung abgesehen) besser weg wenn du keines der üblichen Bildformate verwendest, sondern ein reines byte-File schreibst. Denn damit sparst du dir die Metadaten, die die üblichen Bildformate inkludieren. Natürlich nur, wenn du die Metadaten nicht brauchst.

Aber im Endeffekt geht's halt doch um Komprimierung. Und da ist die Frage ob du dir einen eigenen Algo überlegen willst oder doch am besten mit einem bereits erfundenen bedient bist. Es kommt auch auf die Art der Bilder an. Wenn du bestimmte Annahmen über diese Bilder treffen kannst, kannst du dir sicherlich einen auf deine Daten optimierten Algo schreiben, der dann wohl auch besser komprimieren kann als die allgemeinen Kompressionsverfahren.

Und im End-Endeffekt würde ich dir raten: Nimm ein gängiges Format mit guter Kompression, und/oder zip das ganze. Denn ob ein File nun 4,62 oder 4,00 MB einnimmt (ich wage zu bezweifeln dass du da mehr rausholen kannst, d.h. im Vergleich zu einem gängigen komprimierten Bildformat) spielt bei den heutigen Speicherkapazitäten kaum eine Rolle.

Oder ist Speicherplatz in deinem Kontext ein kritischer Aspekt? Wieviel Bilder haste denn, zehntausend, hunderttausend?
 
Zuletzt bearbeitet:

Andi_CH

Top Contributor
Bevor ich was programmiere überlege ich ob es Sinn macht, bisher steht nur die Theorie und kein Code
Applaus - bei Eikes System entstehen Programme die unter gewissen Bedingungen funktionieren, aber eben nur unter gewissen ...

Ich meine den Speicher den das Bild auf der Fesplatte braucht.

Gut das mit dem Komprimieren ist ne Sache für sich. Wie sieht es also ohne Komprimierung aus?

Für das Format habe ich mich noch nicht so richtig entschieden, es ist wichtig dass keine Verluste auftreten, habe mir dahingehend sagen lassen ich soll kein jpg nehmen

jpg ist verlustbehaftet. Ob es echt verlustfreie Kompression gibt weiss ich wirklich nicht.

(Ich habe damals riesige Satellitenbilder im Gigabytebereich als unkomprimierte tif gespeichert
Das Kriterium war Randomzugriff auf einzelne Pixel, weil daraus ein Projektion gerechnet wurde.)

Ist Speicherplatz wirklich das Kritierium?

Die unkomprimierte Grösse hast du ja berechnet (der overhead der Formate geht IMO unter, weil das Filesystem ja eine Blockgrösse hat.)

Was eine Kompression bringt kann unmöglich gesagt werden, wenn die Struktur der Daten random ist.
 
T

Tomate_Salat

Gast
Naja, für uns geht es hier um Bilder+komprimierung. Da halte ich Eikes Vorschlag:

Was hindert dich daran einfach mal 4 5 Bilder im gewünschten Format mal abzuspeichern?

doch immernoch am besten. Nimm ein paar Bilder und komprimier diese mit verschiedenen Formate+schau dir das Ergebnis an. Wenn du ein komplett eigenes Format* haben willst, können wir eh nichts dazu sagen, weil es ja anscheinend (noch) keins gibt. Deine Frage nach dem Speicherplatzverbrauch lässt sich nunmal durch ein Bildbearbeitungsprogramm lösen.


*=außer natürlich, es geht um die Implementierung+Ideen.
 

Andi_CH

Top Contributor
Ok, ich hab dem möglicherweise zu wenig Gewicht gegeben.
Was kommt mit Komprimierung raus(grob)?

Es ist keine Aussage möglich, da bestimmte Kompressionsalgorithmen auch auf bestimmte Regelmässigkeiten in den Daten ansetzen (z.B. grosse Flächen konstanter Farbe).

Es handelt sich hier, wie weiter oben steht, um eine theoretische Abklärung. Was eine "Versuchsreihe" in diesem Zusammenhang bringt oder eben nicht bringt ist ja auch klar, so lange nicht mehr über die Daten bekannt ist. Allenfalls Abschätzungen um Manager zu befriedigen, mehr aber nicht.

Wer daraus viel schliessen kann, kann ja gerne aufklärend wirken:

300x299 Pixel (hab mich wohl um eines vertan)
Farbe weiss
Paint generiert tif offensichtlich mit LZE Kompression
Grösse in Bytes ausgegeben durch cygwin

Code:
 269154 weiss-24-Bit.bmp
    444 weiss-24-Bit.bmp.zip
   6400 weiss-24-Bit.tif
  90778 weiss-256-faben.bmp
   1311 weiss.gif
   2923 weiss.jpg
   7508 weiss.tif

Jetzt soll mir einer begründen, dass gif verlustfrei und jpg verlustbehaftet sein soll - ich bin jetzt einfach zu bequem ein schief liegendes Gitter mit 1 Pixel Abstand zu generieren - das dürfte wohl der Horror für jeden Kompressionsalogorithmus sein
 

Schandro

Top Contributor
jpg ist verlustbehaftet und trotzdem größer als gif, weil gif ein kleineres Farbspektrum hat... (und dementsprechend auch verlustbehaftet ist)

(wobei es natürlich Ausnahmen gibt...)
 

Lumaraf

Bekanntes Mitglied
Das Format jpg kann grundsätzlich auch verlustfrei komprimieren, das unterstützt nur so gut wie garkeine Implementierung. Ich würde dir zu png raten. Das Format ist im normalfall verlustfrei, wird so gut wie überall unterstützt und die komprimierung ist auch ganz ordentlich.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Wieviel Speicher verbraucht ein Array? Java Basics - Anfänger-Themen 7
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
T Wieviel Array-Elemente Java Basics - Anfänger-Themen 19
M Aus wieviel Klassen darf in Java eine (Programm)besitzen? Java Basics - Anfänger-Themen 21
C Zeitberechnungen wieviel Zeit vergangen ist. Java Basics - Anfänger-Themen 4
L Wieviel Platz belegt Java standardmäßig im Arbeitsspeicher? Java Basics - Anfänger-Themen 4
A wieviel platz ist noch frei? Java Basics - Anfänger-Themen 2
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
B Wie speicher ich die Outputs einer Methode in ein Array ein? Java Basics - Anfänger-Themen 1
L Frage zum Speicher bei Arrays Java Basics - Anfänger-Themen 7
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
F BufferedImage Speicher Nutzung Java Basics - Anfänger-Themen 2
TheSorm Problem mit Speicher Klasse Java Basics - Anfänger-Themen 3
S Wo speicher ich bilder und sounds ab? Java Basics - Anfänger-Themen 4
TheSorm Kleine Speicher Klasse Java Basics - Anfänger-Themen 24
H Methoden "Leeren" Speicher auf der Festplatte überschreiben Java Basics - Anfänger-Themen 8
C Variablen Speicher von Variablen erhöhen Java Basics - Anfänger-Themen 5
I Werte im Speicher auswerten ohne Umweg über eine Datei Java Basics - Anfänger-Themen 16
H Input/Output ImageIO.load frisst meinen ganzen Speicher weg! Java Basics - Anfänger-Themen 4
R Online-Speicher Java Basics - Anfänger-Themen 7
M Variablen speicher Java Basics - Anfänger-Themen 8
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
P Belegt "null" Speicher? Java Basics - Anfänger-Themen 25
T Erste Schritte Speicher läuft voll, Diashow, Images Java Basics - Anfänger-Themen 7
C Soundwiedergabe in einem Thread - Speicher besser bereinigen Java Basics - Anfänger-Themen 3
H warum speicher und läd mien editor nicht? Java Basics - Anfänger-Themen 24
T MysqlConnect und Speicher Java Basics - Anfänger-Themen 8
nabla Speicher voll, mit dem GC geht's daneben? Java Basics - Anfänger-Themen 7
hdi Programmier-Stil : Speicher vs. Quellcode Java Basics - Anfänger-Themen 67
G Button soll Speicher Dialog aufrufen Java Basics - Anfänger-Themen 10
N Probleme mit Input/OutputStreams, Daten im Speicher verwalte Java Basics - Anfänger-Themen 2
D nicht genug speicher - profiling trotz error Java Basics - Anfänger-Themen 5
A Problem mit nicht ausreichendem Speicher Java Basics - Anfänger-Themen 3
K speicher(String a, int b) Java Basics - Anfänger-Themen 14
N Zugriff auf Virtuelles Speicher Java Basics - Anfänger-Themen 18
J Belegter Speicher eines Ordners Java Basics - Anfänger-Themen 2
C args[] als statische Variablen speicher oder wie? Java Basics - Anfänger-Themen 12
S Ringbuffer-Speicher mit einem Textfile Java Basics - Anfänger-Themen 2
A eingabe von jTextField lesen und speicher Java Basics - Anfänger-Themen 5
D Werte in Array speicher Java Basics - Anfänger-Themen 8
M Hilfe: Speicher freigeben? Java Basics - Anfänger-Themen 4
G Speicher als .txt -gibt ein Problem! Java Basics - Anfänger-Themen 6
A Speicher von VM ändern ohne Parameter Java Basics - Anfänger-Themen 3
S Speicher freigeben? Java Basics - Anfänger-Themen 5
T Größe eines Objektes im Speicher Java Basics - Anfänger-Themen 4
D Mit Java auf Speicher zugreifen Java Basics - Anfänger-Themen 3
L-ectron-X Speicher freigeben - Garbage Collection Java Basics - Anfänger-Themen 6
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
celta_vigo Programmieranfänger braucht Rat zu mehr Praxisnähe Java Basics - Anfänger-Themen 8
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
T Erste Schritte Endlosschleife & wozu braucht man /* und */ Java Basics - Anfänger-Themen 19
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
K Wer braucht die Java3d Bins ? Java Basics - Anfänger-Themen 1
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
Thallius Best Practice Umsteiger braucht Tipps zur Bildverarbeitung Java Basics - Anfänger-Themen 1
A Erste Schritte Anfängerin braucht Hilfe Java Basics - Anfänger-Themen 5
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
L Klassen Anfänger braucht Hilfe! Probleme mit Javakara.jar Java Basics - Anfänger-Themen 25
J OOP Warum braucht man den Stack Java Basics - Anfänger-Themen 3
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Erste Schritte Anfänger braucht Denkanstoß für Schulprojekt Java Basics - Anfänger-Themen 21
W Anfänger braucht Hilfe bei Hausübung! Sprachauswahl? Wie? Java Basics - Anfänger-Themen 9
D Anfänger braucht Hilfe:Interface Java Basics - Anfänger-Themen 14
F Wo zu braucht man Kommentar "TODO"??? Java Basics - Anfänger-Themen 20
0 Wozu braucht man Generics? Java Basics - Anfänger-Themen 1
T Interfaces: Braucht man abstrakte Klassen eigentlich noch? Java Basics - Anfänger-Themen 3
D Was ist ein StringReader und wofür braucht man ihn? Java Basics - Anfänger-Themen 2
H Was braucht man oft in Java? Java Basics - Anfänger-Themen 9
X Anfänger braucht hilfe! Java Basics - Anfänger-Themen 4
bigbasti Warum genau braucht man Interfaces? Java Basics - Anfänger-Themen 10
G Textfeld und Label in einem Tab? Anfänger braucht Hilfe Java Basics - Anfänger-Themen 3
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
hedges Prog braucht lange, schlecht programmiert? Java Basics - Anfänger-Themen 3
S Blutiger Java Anfänger braucht dringend Hilfe Java Basics - Anfänger-Themen 4
M Braucht jede Klasse eine Schnittstelle ? Java Basics - Anfänger-Themen 4
G unwissender braucht Hilfe bei Umschreibung Java Basics - Anfänger-Themen 4
M noob braucht hilfe Java Basics - Anfänger-Themen 3
E Anfänger braucht Hilfe Java Basics - Anfänger-Themen 6
L JFrame öffnet 2tes JFrame, welches Daten vom 1sten braucht. Java Basics - Anfänger-Themen 21
T Vokabelbuch programmieren - Anfänger braucht Hilfe! Java Basics - Anfänger-Themen 17
M j2ee: was braucht es alles dazu? Java Basics - Anfänger-Themen 3
J blutiger Anfänger braucht Hilfe ^^ Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben