Pracuję nad aplikacją internetową i obecnie migruję niektóre elementy ze starej aplikacji, ale nienawidzę tego, że muszę otworzyć edytor obrazów, aby uzyskać informacje o migrowanych obrazach. Rzeczy takie jak wymiary obrazu.
Czy istnieje narzędzie wiersza polecenia, którego można używać do takich zadań w systemie Linux?
command-line
image-processing
command-line-tool
nemesisfixx
źródło
źródło
identify
Zamiast tego należy użyć imo/dev/null
jest argument heheidentify -format "%[EXIF:DateTimeOriginal]\n" foobar.jpg
file
nie obsługuje wyświetlania rozmiaru JPEG bez dodatkowego parametru:$ file foo.jpg
returnfoo.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=1], baseline, precision 8, 120x120, frames 3
Najlepszym sposobem na uzyskanie tych informacji jest użycie
identify
polecenia:lub tylko atrybuty rozmiaru
Jest częścią ImageMagick, którą możesz zainstalować na Ubuntu w następujący sposób:
źródło
-verbose
flagę. Musiałem znaleźć DPI (które znajdują się w polu Rozdzielczość)72x72
exiv2 to „narzędzie” do uzyskiwania informacji z plików obrazów:
wyjścia:
źródło
mediainfo dałoby jeszcze bardziej szczegółowe informacje. Zwykle znajduje się w standardowych repozytoriach w systemie Linux, a także jest dostępny przez homebrew w OSX.
Spróbuj na przykład uruchomić w bieżącym folderze:
lub
Oba polecenia pokażą informacje o wszystkich plikach multimedialnych w bieżącym folderze i podfolderach.
Pokaż informacje o wszystkich obrazach JPG, zaczynając od bieżącego folderu (obejmuje podfoldery):
Jest to również bardzo przydatne z plikami audio i wideo, w tym, że pokazuje bitrate wszystkich strumieni audio / wideo, algorytm kodowania typu kontenera, kod FOURCC, to znaczy
XVID
,X264
itpIstnieje również GUI dostępne w standardowych repozytoriach dla wszystkich głównych dystrybucji zwykle nazywanych
mediainfo-gui
źródło
Sprawdź także ExifTool autorstwa Phila Harveya ; przykład:
Przy okazji, szukałem informacji o rozdzielczości / rozdzielczości z wiersza poleceń; i co ciekawe, czasami żadne z tych narzędzi nie zgłasza tego na obrazie (jak w powyższym fragmencie); Aby uzyskać więcej informacji, zobacz Chcę zmienić DPI za pomocą Imagemagick bez zmiany rzeczywistego rozmiaru bajtów danych obrazu - superużytkownik -
identify -verbose
wydaje się jednak działać dla tego samego obrazu, co w poprzednim fragmencie:... chociaż odczytanie rozdzielczości w jednostkach PixelsPerInch może być nieco trudne przy użyciu
identify -verbose
- patrz ImageMagick • Zobacz temat - Nie można ustawić jednostek na pixelsperinch? .źródło
identify -verbose
to jedyne narzędzie, które znalazłem, które informuje o jakości JPG. Na przykład powieQuality: 90
.Identyfikacja pochodzi z pakietu ImageMagick.
Wyodrębnia również informacje exif z obrazu JPEG.
źródło
Możesz wypróbować to polecenie, jeśli powyższe odpowiedzi nie działają:
Wyświetli informacje takie jak:
Obraz w formacie JPEG to 564 w * 779 godz., 3 kolorowe komponenty, 8 bitów na próbkę
źródło
Właśnie odkryłem, że less (z lessfile / lesspipe) może faktycznie wyświetlać informacje o obrazie za pomocą ImageMagick za sceną:
Wynik
źródło
Inna metoda nie wymieniona powyżej, używa feh (musisz ją zainstalować):
Wynik:
Za pomocą:
Wyświetli tabelę (jak wyżej), ale ze wszystkimi informacjami o obrazach (zwiększając kolumnę NUM). Przydatny do użycia w skryptach.
źródło
Narzędzie, które chcesz
file
.Pokazuje zaskakującą ilość informacji o wszelkiego rodzaju plikach.
Składnia jest następująca:
$ file my_pic.jpg
źródło
Możesz użyć :
Ponadto można wymienić
file://
zhttp://
źródło
php -r "print_r(getimagesize(\$argv[1]));"
Jeśli masz do czynienia z PNG, mogą istnieć atrybuty, które trudno mi odczytać w prawie każdym oprogramowaniu. Do tych należy użyć pngmeta:
Jest to szczególnie przydatne w przypadku miniatur, ponieważ zgodnie ze standardem FreeDesktop powinien być sformatowany w formacie PNG i przechowywać informacje o ścieżce jako atrybut PNG (Thumb :: URI).
źródło