Görüntüleri nasıl sıkıştırabilirim?


25

Sıkıştırmam gereken 5.000 resim var (web sitemde görüntülemek için).

Ubuntu'da yeniyim. Peki ben ne yapacağım?



@MostafaAhangarha: Çoğaltılamaz. Lütfen cevabımı okuyunuz askubuntu.com/a/781588/9598 ve bu soruyu kapatmamak için oyunuzu tekrar düşünün. İyi bir tane. Teşekkür ederim!
Geppettvs D'Constanzo

Yanıtlar:


21

Kullanımı çok basit Trimage kullanıyorum.

sadece resim ekleyin ve yüklemek için sıkıştırın:

sudo apt-get install trimage

görüntü tanımını buraya girin


2
Ne kadar sıkıştırıldığımı, dosya boyutunu vb. İstediğimi belirleyebileceğim herhangi bir ayar göremiyorum
Rico

46

"Sıkıştırma" sözcüğü bu soruda yanlış anlaşılıyor gibi görünüyor, ancak bunu görmek istediğiniz içeriğe bağlı olarak henüz geçerli değil.

Manzara

Web tasarımcılarının, Web geliştiricilerinin ve / veya Web yöneticilerinin, doğrudan gerçek bir üretim ortamında çalışıyorsak, barındırma programımıza hızlı bir şekilde yüklenmeleri için yeterince "hafif" olmaları için görüntü dosyalarımızı "sıkıştırmaları" gerektiğini düşünelim. Yerel bir test üretim ortamında çalışıyor olsaydık bu durum etkilenmez.

Yanıtların birçoğunun, muhtemelen -bu türden-bu sahneyle karşılaşmamış olmaları nedeniyle- neden olduğu başka şeylere atıfta bulunduğu görülüyor. Bu yüzden bunu açıklamaya başlıyorum.

Yani. Cevabın çözmesi gerekenleri anlayalım:

  1. Resim hafif olmalı
  2. Resim, dosya boyutunu kaybetmek için "sıkıştırılmış" OLMALIDIR, ancak JPG toplu sıkıştırma ve yeniden adlandırma ( bu soru -exec, xargs, pipolama?) Şeklinde başka bir kullanıcı tarafından belirtildiği gibi "rezised" olmamalıdır.
  3. Resimler toplu olarak, tercihen bir GUI ile sıkıştırılmalıdır.

Hafif Resim

İlk önce "hafif bir resmin" ne olması gerektiğini anlayalım.

Yüksek Çözünürlüklü Resimler, 1024 pikselin üzerindeki çözünürlüklerde daha büyük dosya boyutuna sahip olabilir. Bu ekran görüntüsüne bir örnek veriyorum:

görüntü tanımını buraya girin

görüntü tanımını buraya girin

Dosya özellikleri penceresinde bunun bir 9.5 MB dosya olduğunu görebiliriz, bu dosya yüklenmesini çok geciktirir ve bir web sitesinde yayınlandığı zaman ekranda görüntülenmesi için çok fazla geciktirir.

Bununla birlikte, görüntü boyutu ve ızgara çözünürlüğü, yüksek çözünürlüklü bir baskı için gerçekten yararlıdır. Demek bu açıklamada ele almayacağım farklı bir manzara.

Peki, bu resmi bir web sitesinde, yıllarca web sitemde göstermek için birkaç yıl yüklemek ve beklemek için beklemeden kullanabilir miyim?

Dosya sıkıştırılmalıdır.

"Sıkıştırma" hakkında konuştuğumuzda, karşılaştığımız dava için kullanılabilir olması için kalitesini açıkça değiştirmemiz gerekir.

Öyleyse bir sonrakini bir terminalde bırakalım

convert seminario-tabloide.png test.jpg

Bu, yüksek çözünürlüklü PNG formatını kendi başına daha küçük bir dosya olan "sıkıştırılmış" JPG formatına dönüştürecek! 9,5 MB ile 2,4 MB arasındadır.

görüntü tanımını buraya girin

Yine de Büyük?

Ancak, 2.4 MB, henüz büyük bir dosya boyutu. Şimdi daha küçük dosya boyutları oluşturmak için diğer bazı ImageMagick convert komutlarıyla oynayalım :

convert test.jpg -quality 50% test-50p.jpg

Bir görüntüyü "sıkıştırmak" için yapmamız gereken şey budur. Bu, görüntünün kalitesini% 50 azaltacak ve 938,4 KB <=== (Not: KILOBYTES, bir Megabayt bile değil) dosya boyutu sunacak.

Yüzdeyi aynı komutla ayarlayarak daha ileri gidebilir ve daha küçük bir dosya boyutu oluşturabiliriz:

convert test.jpg -quality 30% test-30p.jpg

Lütfen bu örnekte, görüntü boyutlarını değil, dosyanın kalitesini düşürdüğümüzü unutmayın. Bu, ekranda görüntülendiğinde görsel olarak etkilenmediği sıkıştırılmış bir dosyaya neden olur, ancak büyük bir kağıt boyutunda (mektuptan daha büyük) yazdırırken yapıtları görürsünüz.

Yeniden Boyutlandırma + Sıkıştırma = Süper Harika!

Şimdi. Farklı bir şey yapabiliriz. Gerçekten bir kaç şey: Önce görüntüleri yeniden boyutlandırabilir ve bundan sonra sıkıştırma uygulayabiliriz, bu da orijinalinden daha küçük bir dosya boyutuna neden olur ve ekranda görüntülenmesi için yararlı bir resim sunar, baskı için çok iyi değil ama Basılı bir pankartta değil, ekranda görüntülemeniz mi gerekiyor?

Öyleyse şunu yapalım:

convert seminario-tabloide.png -resize 1024x test-1024x.jpg

Bu talimatla, en boy oranını kaybetmemek için gerekli olan piksel miktarı kadar resmin yeniden boyutlandırılmasını istiyoruz.

Şimdi ... bil bakalım ne oldu?

Dosya boyutu 9.5 MB’den ...’ye düşürüldü (lütfen congas ile müziği askıya alın) 433.7 KILOBYTES

Böyle bir maksimum sıkıştırılmış dosyayı maksimum sıkıştırmak istiyorsak, dosyaya eklenmiş bazı genel verilerle karşılaşacağız ve daha büyük bir dosya boyutu ortaya çıkacaktır. Bu yüzden denemenizi önermeyeceğim, ancak benden örnek yapmamı bekliyorsanız, tamam ... İşte başlıyoruz!

convert test-1024x.jpg -quality 50% test-1024x-50p.jpg

Ve tek bir komutla 433,7 KB'den 176,2 KB'a gittik . Bu örnek başarılı oldu, ancak yine de herhangi bir egzersizin daha küçük dosya boyutları ile sonuçlanmasını beklemeyin. Ancak bu tür egzersizler yaparken çok eğlenebilirsiniz.

Toplu işlem

Ah! Ancak ihtiyaçlarımdan birini neredeyse unutuyorum: Bu işlemi kolaylıkla birçok resme uygulamak.

Böyle bir şey için iki işlemle yapabiliriz.

Durak

Bu daha hızlı ve daha kolaydır. Öyleyse terminale bir dizindeki tüm dosyalarda aynı komutu çalıştırmamız gerektiğini söyleyelim, sonra diğer komutu açıklayacağım.

Tümünü 1024 piksele dönüştürün (herhangi bir piksel miktarını kullanabilirsiniz)

for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;

Buradaki komuttan bir dizindeki tüm dosyalar için aynı talimatı çalıştırmasını, dönüşümü uygulamasını ve seçilmesini kolaylaştırmak için farklı bir isimle bir kopyasını bırakmasını istiyoruz.

Bir dizindeki tüm resimlere kaliteyi yüzde olarak azaltın (dilediğiniz yüzde'yi kullanın):

for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;

Burada yeniden boyutlandırılmış görüntülerin dosya boyutunu küçültmek için kalitesinin düşürülmesini istiyoruz.

Bu komutlarla oynayabilir ve sonuçlarınızı görebilirsiniz. Birkaç saat eğlendikten sonra uzman olacaksınız.

Nautilus Betiği

20 Nisan 2015 tarihinde, asıl soru gibi bir durumla karşılaştım, bu yüzden biraz araştırma yapmak ve bir soru hakkında yardım istemek zorunda kaldım. Bu yüzden şimdi bundan çok şey biliyorum. Bu bilgiyle doğduğumu sanma dostum.

Basitçe dosya gruplarınızı seçmek ve dönüşümleri uygulamak için terminallere ve / veya bir GUI kullanmak istemiyorsanız, dosya grubunu sağ tıklayıp seçmek için kendi Nautilus Eylemler Komut Dosyasını oluşturabilirsiniz. içerik menüsünden bir seçenek.

Böyle bir şeyin nasıl yapılacağına ilişkin talimatlar için lütfen hem soruyu, yanıtı hem de yorumları okuyun: Nautilus-Actions ile kalitesini değiştirmek için JPG resimlerinde toplu işlem nasıl yapılır?

İyi şanslar!


1
Bu "bana balık tutmayı öğret" cevabı. ImageMagick convertkomut satırı becerilerine sahip olmak harika.
Charney Kaye

Katı! Çok sayıda imleç modundaki Sublime Text metin düzenleyicisini, bir grup fotoğrafın bir "toplu" sıkıştırması için aynı anda bir dizi komutu hızlıca değiştirmek için kullandım. Sadece convert photo.jpg -quality 70% photo_compressed.jpgkomut formatını kullandım ve harika çalıştı! Sıkıştırmanın orijinal kalitenin yalnızca% 70'ine ayarlanması bile, fotoğrafın boyutunu orijinalin ~% 37'sine düşürdü, çünkü efekt hem x hem de y eksenlerinde büyütülerek büyütüldü.
Gabriel Staples

Sıklıkla yanlış anlaşılan kavramların fantastik açıklaması. Bütünlük sağlamak için, toplu işleme için, sonuçları tutmak için bir klasör yaptığım dönüştürmek yerine ImageMagick’in kullanabileceğini de ekleyeyim, daha sonra sadece işleri organize eden o klasöre dönüştürün. Örneğinmogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Dennis,

0

Eğer jpeg resimlerinden bahsediyorsanız, fiili sıkıştırma mümkün değildir. Jpeg tanım olarak sıkıştırılmış bir dosya formatı olduğundan (tüm gürültü ve yararsız pikseller zaten kaldırılmıştır). Tamamen onları sıkıştırabilirsiniz, ancak toplam boyutu yaklaşık aynı kalacaktır. JPEG'ler için bildiğim tek gelişmiş sıkıştırma algoritması zipx. Ancak zipx Winzip tarafından tescillidir ve maks. Boyut% 30 oranında kesildi (zipx arşiv modunda).

Senin görüntülemek için görüntüleri web'de öncelikle (her biri başına 1MB altında) onları yeniden boyutlandırmak gerekir ve isteğe bağlı olarak dosya biçimi png çevirebiliriz. PNG (= taşınabilir ağ grafikleri), daha hızlı web aktarımı ve daha hızlı görüntüleme için özel olarak optimize edilmiştir. İleri düzey kullanıcılar bile bu görüntüleri webp biçimine dönüştürebilir (Google’ın resim biçimi, en hızlı yükleme algoritması).

Fotoğrafları XnConvert ile toplu olarak dönüştürebilir, ardından XnView ile resimlerinizi toplu olarak yeniden boyutlandırabilirsiniz. Deb paketini buradan indirin: http://www.xnview.com/de/xnviewmp/#downloads , sonra üzerine sağ tıklayın ve Gnome Yazılımı ile açın.

Ağ yükleme hızını umursamıyorsanız, ancak kaliteyi önemsiyorsanız, resimlerinize dokunulmamalı ve onlar için dijital bir kütüphane oluşturmalısınız. Belki bir kamu sunucusuna (Yahoo, Google, vb) yükleyin.


3
JPEG sıkıştırma / kalite için çeşitli seçeneklerden bahsetmek isteyebilirsiniz; Bir jpeg görüntünün dosya boyutunu, sıkıştırmasını artırarak (ve dolayısıyla kalitesini azaltarak) azaltmak oldukça mümkündür.
Nick Weinberg,

1
Sıkıştırma anlayışım, aynı kaliteyi koruyarak gereksiz pikselleri ortadan kaldırmak anlamına geliyor. Kaliteyi düşürmek sıkıştırma değildir, sadece küçültme veya aşağı örneklemedir. Kayıpsız sıkıştırma, seri çekim fotoğraflarla mükemmel çalışan zipx formatını kullanarak mümkündür. Tüm çift piksellerin ayrı bir katmanda düzleştirildiği, web sayfasındaki bir .css dosyasına benzer bir şekilde üst üste / üst üste binmiş benzer fotoğraflardan oluşan bir yığın oluşturur. Yinelenen pikseller, arşiv içindeki ayrı bir varlık olarak tanımlanır.
ipse lute,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.