Luzem konwertuje obrazy z jednego formatu na inny?


44

Chcę przekonwertować partię obrazów, prawie 100, z formatu JPG do PNG. Jak mogę to zrobić bez zmiany ich nazwy, a zamiast tego faktycznej konwersji formatu?


Użyj convertpolecenia. Nie naprawdę. Ale będziesz chciał zmienić ich nazwę z pliku.jpg na coś.png.
Jos

1
@jos, z twojego komentarza nie rozumiem, co powinienem zrobić !!
opu 웃

Nie skończyłem edycji ;-) Najpierw użyj convertpolecenia na pojedynczym pliku .jpg i sprawdź, czy to działa. Następnie napisz skrypt, który zapętla pliki .jpg i konwertuje je na pliki .png.
Jos

Nie wspomniałeś, jak mogę użyć convertpolecenia na jednym pliku .jpg. I nie wiem, jak napisać skrypt, który zapętla pliki .jpg.
opu 웃

Odpowiedzi:


63

Wypróbuj te polecenia,

mogrify -format png /path/*.jpg    

Spowoduje to konwersję wszystkich plików .jpg do plików .png i zapisanie przekonwertowanych plików w tym samym katalogu.

mv /path/*.png ~/Desktop/pic

Spowoduje to przeniesienie wszystkich .pngplików (przekonwertowanych) do pickatalogu znajdującego się na pulpicie.


Czy powinienem zmienić katalog?
opu 웃

1
/path/*.jpgreprezentuje katalog, w którym przechowywane są pliki .jpg.
Avinash Raj

Próbowałem także tego polecenia po zmianie katalogu: mogrify -format png .jpgTo też działa dobrze.
opu 웃

Poniższa odpowiedź jest lepsza , ponieważ uwzględnia ograniczenia nałożone na ARGV.
Evan Carroll

Jest tu świetny przewodnik: algissalys.com/how-to/… Obejmuje także zmianę rozmiaru obrazu, co jest przydatne, tj. dodanie -resize 800x zmienia najdłuższą stronę na 800 :)
Craig Lambie

41

Korzystanie z ImageMagick .

Pierwsza instalacja imagemagick:

sudo apt-get install imagemagick

Spróbuj najpierw przekonwertować tylko jeden obraz:

convert image.jpg image.png

Teraz przekonwertuj wszystko:

mogrify -format png *.jpg

EDYTOWAĆ

Musisz także podzielić go na kawałki, które będą pasować, aby uniknąć przekroczenia limitu, ile możesz umieścić w wierszu polecenia. Powinno to działać lepiej:

find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png

-print0I -0służą do przestrzeni uchwytu w nazwach i -rśrodki nie działają mogrify jeśli nie ma nic do zrobienia.

Źródło: https://stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick

EDYCJA 2 Zamieniono png i jpg zgodnie z komentarzem @ Glutanimate.

EDYCJA 3 W ostatniej sugestii zmieniono png na jpg.


Pomyślnie przekonwertowano jeden obraz. Ale kiedy użyłem polecenia, aby przekonwertować cały jego pokaz mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
opu 웃

cdNajpierw musisz przejść do tego katalogu. Jeśli są na pulpicie, uruchom cd ~/Desktopnajpierw, a następnie spróbuj ponownie przekonwertować.
Parto

Zmieniłem katalog
opu 웃

@Parto Myślę, że powinno być mogrify -format png *.jpg. OP prosi o konwersję jpg → png.
Glutanimate,

nie działało dla mnie z 14.04 @Parto
talha06

0

Wiem, że minęło sporo czasu, odkąd zadano to pytanie, ale jest jedno genialne oprogramowanie, o którym nie wspomniałem, z którego często korzystałem.

http://photobatch.wikidot.com/ znany również jako Phatch. Dosłownie konwertuje wszystko, od czegokolwiek do czegokolwiek innego pod względem obrazowym. Przez jakiś czas nie był aktualizowany, ale teraz twierdzi, że został wydany dla Ubuntu 17.10. Spróbuj. Jestem pewien, że będziesz z tego bardzo zadowolony.


2
Próbowałem pobrać to oprogramowanie, brak linku „pobierz” do pliku deb w powyższym linku, a wersja „sklepu” Ubuntu dała mi ten błąd: Szczegółowe błędy z menedżera pakietów wykonaj następujące: apt transakcja zwróciła wynik wyjście nieudane Ubuntu v 18.10 może? W każdym razie - moje doświadczenie.
Craig Lambie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.