Wie kann ich die Dateigröße reduzieren, ohne an Qualität oder Auflösung zu verlieren?


7

Ich habe mehr als 2.300 Bilder, die ich auf mein Telefon übertragen möchte, aber in ihrer Originalgröße nehmen sie viel Platz ein (6,44 GB), auf den ich zuschneiden möchte, ohne die Qualität oder Auflösung zu beeinträchtigen. Ich weiß, dass es unter Linux mit so etwas wie pgncrush gemacht werden kann. Ich habe derzeit Zugriff auf ein Windows-System und alle Dateien sind im JPEG-Format.

Wie mache ich es?


Werden die Kopien der Bilder auf dem Telefon nur auf dem Bildschirm des Telefons angezeigt oder möchten Sie sie vom Telefon aus drucken / für eine andere Anzeige freigeben?
Edd

2
Der Begriff " TANSTAAFL " fällt hier ein. Sie können alle diese Linux-Dienstprogramme unter Windows mit ein wenig Arbeit ausführen. Im Allgemeinen erzielen sie jedoch entweder nur geringe Einsparungen oder erfordern eine Verringerung der Auflösung oder der Bildqualität.
Bitte lesen Sie mein Profil

1
Das ist keine Ente, das ist ein Schwan!

1
Sie sollten immer genug Ruf haben, um Ihre eigene Frage zu beantworten. Diese Antwort wird Ihnen wahrscheinlich mehr Ansehen einbringen.
ChrisF

2
Beachten Sie, dass das Hochladen auf (Ihren bevorzugten Bildhost hier) möglicherweise dadurch beeinträchtigt wird, dass das Bild für Sie erneut komprimiert wird, was Vergleiche möglicherweise vergeblich macht.
Rowland Shaw

Antworten:


18

Dateigröße, Qualität, Auflösung - wählen Sie zwei aus.

Wenn Sie Bilder in einem unkomprimierten Format wie BMP hatten, können Sie sie etwas verkleinern, ohne die Qualität oder Auflösung zu beeinträchtigen, indem Sie sie in einem komprimierten Format speichern, das keine verlustbehaftete Komprimierung wie PNG-24 ausführt.

JPEG-Bilder sind bereits komprimiert, sodass sie bei der angegebenen Qualität und dem angegebenen Ergebnis bereits so klein wie möglich sind. Wenn Sie also eine kleinere Dateigröße wünschen, müssen Sie auf Qualität oder Auflösung verzichten.

Wenn Sie das Bild auf einem Telefon anzeigen, können Sie möglicherweise ein wenig an Qualität verlieren, ohne dass sich ein Unterschied bemerkbar macht. Wenn die JPEG-Bilder in der Qualität 100 gespeichert werden, können Sie versuchen, eine Kopie mit beispielsweise der Qualität 80 zu erstellen, und prüfen, ob dies für Ihre Anforderungen ausreichend ist.

Wenn die Auflösung der Bilder höher ist als die Auflösung des Bildschirms auf Ihrem Telefon, würden Sie diese zusätzliche Auflösung nur verwenden, wenn Sie das Bild vergrößern. In diesem Fall würde eine Reduzierung der Auflösung nur die Zoombegrenzung einschränken.


manchmal kann das zippen oder seltenen die jpgs ein bisschen mehr quetschen.
Michael Nielsen

1
@MichaelNielsen: Dann liegt es wahrscheinlich daran, dass es einige Metadaten enthält, die nicht komprimiert sind. Wenn Sie das Bild also ohne Metadaten speichern, wird es noch kleiner.
Guffa

Es wäre wirklich dumm, die Metadaten in Ihrer eigenen Datenbank zu entfernen.
Michael Nielsen

3
@ MichaelNielsen: Ja, aber Sie verpassen den Punkt. Die Metadaten sind der Grund dafür, dass die Datei komprimierbare Daten enthält.
Guffa

Es gibt andere Formate als JPG, die effizienter gespeichert werden können als JPG. Wenn Sie also in eines dieser Formate konvertieren, können Sie eine bessere Komprimierung erzielen, ohne einen Qualitätsverlust zu bemerken. Weitere Informationen in meiner Antwort unten photo.stackexchange.com/a/79086/4272
Chris Wuestefeld

5

Beginnen wir mit einem Gedanken: Kompressoren können die Größe von etwas (wie einer Textdatei) reduzieren, indem sie es verarbeiten und dieselben Informationen mit weniger Symbolen darstellen. Auf diese Weise verkleinert Zip eine Textdatei. Dies ist eine verlustfreie Komprimierung.

Bilder und Audio (und damit auch Video) verwenden eine sehr große Menge an Informationen: Beispielsweise würde ein 5-Megapixel-Bild in einem Format, das nichts komprimiert (wie TIFF), 5 Megabyte x 3 Farben * RGB) = 15 benötigen MB Speicherplatz.

Um die Dateigröße zu verringern, verlieren Sie im JPEG-Format einige Informationen aus dem Bild: Qualität, Farben usw. Deshalb können Sie ein JPEG in einem Fotobearbeitungsprogramm (Photoshop, Gimp usw.) öffnen und dann mit speichern Geringere Qualität: Es werden weniger Informationen zur Darstellung Ihres Bildes mit einer kleineren Dateigröße verwendet, es verliert jedoch an Qualität. Wenn Sie (oder eine andere Person) feststellen können, dass die geringe Qualität ein wichtiger Punkt ist, wenn Sie "wie viel Komprimierung" auswählen möchten.

Also: Im Allgemeinen verlieren Sie aus praktischen Gründen viel an Qualität, um die Größe eines JPEG-Bilds zu verringern, da es bereits komprimiert ist.

Aber du willst das in deinem Handy verwenden, stimmt das?

Du hast nicht gesagt, welches Handy du hast. Nehmen wir an, Sie haben eine Samsung Galaxy S3 . Sie können die technischen Daten sehen: Die Bildschirmauflösung beträgt 1280 x 720 Pixel.

Wenn Sie also ein Bild darin anzeigen, spielt es keine Rolle, wie groß das Originalbild ist: Sie können 1280 x 720 Pixel sehen, da dies die maximale Anzahl von Pixeln ist, die die Zelle anzeigen kann.

Wenn Sie alle Ihre Bilder aufnehmen, ihre Größe auf 1280 x 720 Pixel ändern und sie in Ihrem Telefon öffnen, werden sie genauso angezeigt, wie Sie sie mit der ursprünglichen Auflösung sehen würden. Sie verlieren die "Auflösung" des Originalbilds, aber es ist etwas, das Sie auf Ihrem Telefon sowieso nicht sehen können ...

So machen Sie das in Windows : Verwenden Sie ein beliebiges Programm, mit dem Sie Bilder bearbeiten können: Photoshop, Gimp, IrfanView ... aber da Sie darüber sprechen, dies in einer großen Anzahl von Dateien zu tun, denken Sie wahrscheinlich an ImageMagick oder ein ähnliches Programm, das denselben Vorgang in einer großen Anzahl von Dateien ausführen kann.

Edit: um es mit Imagemagick zu machen:

1 - Kopieren Sie alle Ihre Bilder in einen neuen Ordner (z. B. Temp1), um zu vermeiden, dass die Originale verloren gehen

2 - Erstellen Sie einen neuen Ordner, in dem sich Ihre Bilder nach der Größenänderung befinden (Beispiel: Temp2).

3 - Öffnen Sie ein cmdFenster und wechseln Sie in das Verzeichnis mit den kopierten Bildern (Temp1).

4 - Typ:

mogrify -path full_path_to_Temp2 -resize 1280x720 * .jpg


Das habe ich gesucht. Sie haben auch mein Handy richtig erraten, es ist ein S3. Ich lade gerade imagemagick herunter. Wie würde der Befehl die Größe der Bilder aller Dateien in einem Ordner auf 1280x720 ändern?
Kleie

Unter WordPress verwende ich ein Plugin, um die Größe der hochgeladenen Bilder automatisch zu ändern. Es verwendet ein serverseitiges Dienstprogramm namens littleutils ( sourceforge.net/projects/littleutils ). Ich wollte so etwas verwenden. Das lässt mich glauben, dass es möglich sein kann, JPEG weiter zu komprimieren, ohne viel Qualität zu verlieren oder die Auflösung zu verringern. Derzeit sind die meisten meiner Bilder 2305x3072 oder 2592X1944.
Kleie

1
Ich fand dies auf Linux manpagez.com/man/1/opt-jpg
Kleie

2
Oh, also bist du bereit, die Auflösung zu opfern?
Digital Lightcraft

4
Obwohl ich mit allem, was hier gesagt wird, einverstanden bin, möchte ich darauf hinweisen, dass viele Leute zwar Fotos auf ihrem Handy zeigen, aber auch gerne zoomen, um Teile des Bildes detaillierter darzustellen. Wenn Sie dies tun, Ihr Bild jedoch nur auf die Auflösung des Telefonbildschirms heruntergesampelt haben, werden Sie den Unterschied bemerken, da Sie jetzt einen kleineren Bereich bei der Telefonauflösung anzeigen, diese Pixel jedoch bereits verloren haben. Nur ein Gedanke.
so verwirrt

2

Sie können eine verlustfreie Optimierung erhalten (basierend auf der Optimierung der Huffman-Tabellen). Das Dienstprogramm jpegoptim stellt diesen Algorithmus bereit.

Installieren Sie es mit (auf Debian):

apt-get install jpegoptim

So führen Sie eine Simulation aus (kein Aktionsmodus):

jpegoptim -n -p dsc07844.jpg

kehrt zurück:

dsc07844.jpg 3872x2592 24bit Exif  [OK] 3057132 --> 2518805 bytes (17.61%), optimized.

Optimieren:

jpegoptim -p dsc07844.jpg

Die exif-Metadaten bleiben erhalten


2

Ah, nun, Sie haben sich selbst geantwortet, aber Ihre Anforderungen geändert. "Kein Qualitätsverlust" und "kein Qualitätsverlust mit bloßem Auge" unterscheiden sich bei Bildern erheblich.

Außerdem funktionieren PNGcrush und opt-jpg völlig unterschiedlich. Ich habe dies nur bemerkt, weil Sie PNGcrush in Ihrem OP erwähnt haben. PNGcrush optimiert nur Metadaten über das Bild, nicht das Bild selbst. Aus diesem Grund gewinnen Sie normalerweise nur 1-2%.

Ehrlich gesagt, sehen die beiden Bilder in Ihrer Antwort für mich völlig anders aus. Das optimierte Bild ist viel verwaschener und hat eine geringere Schwarztiefe. Da es sich um ein JPEG handelt, wurde dies wahrscheinlich durch Verdichten der Palette erreicht, wodurch das Bild ... anders aussieht.

Die Antwort auf Ihre ursprüngliche Frage lautet, dass Sie die Dateigröße nicht wesentlich reduzieren können, ohne die Qualität zu beeinträchtigen (mit Ausnahme der zuvor erwähnten Einsparungen von 1-2% durch Metadaten oder Tag-Komprimierung), dh durch Entfernen von EXIF-Daten usw., abhängig von das Format der Datei (RAW, TIFF, JPEG).

Um die Dateigröße um ein echtes Maß zu reduzieren, müssen Sie entweder die Qualität oder Auflösung oder beides verlieren. Wenn dies nicht der Fall wäre, würde sich der Fotograf nicht um die Verarbeitung in RAW kümmern.


1

In Anbetracht der Auflösung und des Qualitätsniveaus gibt es mehrere andere Bilddateiformate, die das Äquivalent liefern können, die Daten jedoch kompakter speichern als das alte Standard-JPEG.

Einige Optionen umfassen

  • JPEG2000 , gekennzeichnet durch die Erweiterung .jp2, ist ein etwas älteres Format, das nie populär geworden ist. Es werden Wavelet-Transformationen anstelle der DCT (Discrete Cosine Transform) von JPEG verwendet, was zu weniger offensichtlichen Artefakten führt und somit eine stärkere Komprimierung bei vergleichbarer wahrgenommener Qualität ermöglicht. Sie beanspruchen einen Vorteil von 20%. https://en.wikipedia.org/wiki/JPEG_2000

  • Googles WebP verwendet fortschrittlichere Algorithmen (wenn ich das richtig verstehe, entspricht dies der heutigen besseren H.265-Komprimierung für Videos im Vergleich zu MPEG), mit der 40% bei gleicher Qualität eingespart werden können. http://www.cnet.com/news/google-offers-jpeg-alternative-for-faster-web/# !

  • BPG (für "bessere tragbare Grafiken") ist eine neue Open-Source-Initiative. Der Ansatz von WebP scheint ähnlich zu sein, mit zusätzlichen Vorteilen wie einer besseren Bittiefe und einem besseren Dynamikbereich. Ab heute ist er jedoch weniger kompatibel mit verschiedenen Softwareprogrammen. http://bellard.org/bpg/

Wenn Sie genau wissen möchten, wie diese und einige andere miteinander verglichen werden, können Sie hier Diagramme und Grafiken anzeigen: https://people.mozilla.org/~josh/lossy_compressed_image_study_july_2014/


0

Sie müssen den Ordner "komprimieren". Es gibt verschiedene Möglichkeiten, dies zu tun. Der klassische besteht darin, sie zu "komprimieren".

Klicken Sie in Windows (ab XP) mit der rechten Maustaste auf den enthaltenen Ordner, klicken Sie auf "Senden an" und dann auf "Komprimierter Ordner".

Dies sollte die Größe des Ordners verringern und ihn als ZIP-Datei speichern.

JEDOCH - JPEG-Dateien sind bereits in ihrer eigenen Codierung komprimiert - so dass die endgültige komprimierte Datei möglicherweise überhaupt nicht viel anders ist.


Wenn ich sie komprimiere, kann ich sie nicht auf meinem Telefon anzeigen, auf das ich sie übertragen werde. Ich weiß, dass es Möglichkeiten gibt, dies individuell zu tun. Ich brauche einen Weg, um es auf einmal zu tun. Am besten unter Fenstern.
Kleie

Ok, ich verstehe - hmm, wenn sie als JPGs aufbewahrt werden müssen, ohne die Qualität oder Auflösung zu beeinträchtigen, denke ich nicht, dass Sie dazu in der Lage sein werden. Wenn Sie bereit sind, die Qualität leicht zu verringern, damit der Unterschied nicht offensichtlich ist, können Sie leicht eine gute Menge an Größe sparen.
Digital Lightcraft

0

Sie können ein Programm namens Moo0 Image Sizer verwenden , mit dem Sie viele Bilder gleichzeitig erneut anzeigen können (ab dem 15. Dezember 2012 sind die verfügbaren Formate jpg, png, bmp und gif).

Das Programm ist kostenlos für nichtkommerzielle Zwecke.


Hallo E. Fisher, willkommen auf der Seite. Ich denke, es wäre nützlich, Ihre Antwort mit weiteren und bestätigten Details zu konkretisieren.
John Cavan

0

Ich habe die Antwort gefunden, nach der ich gesucht habe. Die Antwort lautet opt-jpg für Linux. Ich habe es nicht im Ubuntu-Repository gefunden. Sie müssen also die Quelle von littleutils ( http://sourceforge.net/projects/littleutils/ ) herunterladen, die opt-jpg enthält.

Von der Quelle installieren. Laden Sie den Teer mit wget herunter und:

tar jxvf littleutils-1.0.27.tar.bz2 && cd littleutils-1.0.24

...

./configure --prefix=/usr && make && make install && make install-extra

Du musst also root sein sudo su

Ich habe zum Beispiel ein Entenbild verwendet. Die nicht optimierte Datei ist 1,1 MB groß, nachdem sie ihre 991 KB optimiert hat, ohne dass die Bildqualität (mit bloßem Auge) verloren geht oder die Auflösung des Bildes geändert wird. Es scheint kein großer Unterschied zu sein (eine Reduzierung von 108 KB), aber mit mehr als 2300 Bildern und einer durchschnittlichen Größe von 6,44 GB bei gleicher Größenreduzierung kann sich viel Platz ergeben. Geben Sie hier die Bildbeschreibung ein

Sie können das Original-Entenbild sehen, das auf flickr hochgeladen wurde: Geben Sie hier die Bildbeschreibung ein

Und der Optimierte: Geben Sie hier die Bildbeschreibung ein

Kann das bloße Auge den Unterschied erkennen?

Wie viel Platz ich tatsächlich gespart habe. Sie müssen einige Zeit warten, da ich es laufen lassen muss, wenn ich den Comp nicht benutze. Dies wird eine Weile dauern und ich werde daran denken, mich zu melden.


Nur um die Leute darüber zu informieren, wie viel Platz ich gespart habe. Es dauerte ungefähr 25 Minuten, bis es fertig war, und ich sparte ungefähr 200 MB an Größe.
Kleie

1
Also insgesamt 3% Ersparnis?
Bitte lesen Sie mein Profil

2
Abgesehen davon wissen Sie, dass dies ein Schwan und keine Ente ist, oder?
Rowland Shaw

@ Mattdm Ja, nicht viel, aber jetzt weiß ich, dass es möglich ist und nicht wirklich ein "TANSTAAFL" :)
Kleie

1
Das bloße Auge kann den Unterschied nicht erkennen, wenn Sie die Auflösung an das Telefon anpassen oder die Qualität von 12 auf 8 verringern. Diese beiden Dinge zusammen würden Ihnen% 75 und nicht 3% Ihrer Dateigröße ersparen (Sie sind sich nicht sicher, in welcher Qualitätseinstellung diese ursprünglich gespeichert wurden, aber Sie können normalerweise ein Bild in HD-Größe bis zu 250 KB oder so erhalten und trotzdem großartig aussehen.)
Wedstrom


0

"Image Resizer für Windows" ist ein großartiges kostenloses Dienstprogramm für Windows-Benutzer in weniger als 1 MB. Alle Bilder mit 5 MB oder 10 MB können mit nahezu derselben Klarheit auf weniger als 200 KB reduziert werden. Das Problem ist: Diese 10-MB-Bilder haben eine Auflösung von 4000 x 3000, aber Ihr Telefon oder Computer ist nur ein Drittel davon, sodass es sich fast gleich anfühlt. Wenn Sie also keine davon drucken, empfehle ich Ihnen, Ihre Bilder mit diesem wirklich einfachen Tool zu komprimieren. Wählen Sie einfach alle Dateien aus, klicken Sie mit der rechten Maustaste und sagen Sie Größe ändern. Es konvertiert 100 Bilder in weniger als einer Minute.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.