Как получить информацию об изображении (картинке) из командной строки Linux?

Я работаю над веб-приложением, и в настоящее время я переношу некоторые вещи из старого приложения, но я ненавижу, что мне нужно открыть редактор изображений, чтобы получить информацию об изображениях, которые я переношу. Такие вещи, как размеры изображения.

Есть ли инструмент командной строки, который я могу использовать для таких задач в Linux?

12 Solutions collect form web for “Как получить информацию об изображении (картинке) из командной строки Linux?”

Для некоторых форматов изображений вы можете просто использовать команду file :

 $ file MyPNG.png MyPNG.png: PNG image, 681 x 345, 8-bit/color RGB, non-interlaced 

Не все форматы изображений сообщают о размере (JPEG, в частности, нет):

 $ file MyJpeg.jpg MyJpeg.jpg: JPEG image data, JFIF standard 1.01 

Для них вам придется использовать что-то более сложное, например:

 $ convert MyJpeg.jpg -print "Size: %wx%h\n" /dev/null Size: 380x380 

Команда convert является частью пакета ImageMagick.

Лучший способ получить эту информацию – с помощью команды identify :

 $ identify image.png 

Или только атрибуты размера

 $ identify -format "%wx%h" photo.jpg 

Это часть ImageMagick, которую вы можете установить на Ubuntu так:

 $ sudo apt-get install imagemagick 

Mediainfo дал бы еще более подробную информацию. Обычно он находится в стандартном репозитории в Linux, а также доступен через homebrew на OSX.

Попробуйте, например, запустить в текущей папке:

 mediainfo * 

или

 mediainfo . 

Обе команды будут отображать информацию обо всех медиафайлах в текущей папке и подпапках.

Показывать информацию обо всех JPG-изображениях, начиная с текущей папки (включая подпапки):

 find . -iname "*.jpg" -exec mediainfo {} \; 

Он также очень полезен для аудио- и видеофайлов, поскольку он показывает битрейт всех аудио / видеопотоков, алгоритм кодирования, тип контейнера, код FOURCC, то есть XVID , X264 и т. Д.

Существует также графический интерфейс, доступный в стандартных репозиториях для всех основных дистрибутивов, обычно называемых mediainfo-gui

Exiv2 является «инструментом» для получения информации из файлов изображений:

 ~$exiv2 myimage.jpg 

выходы:

 File name : myimage.jpg File size : 1196944 Bytes MIME type : image/jpeg Image size : 2592 x 1944 Camera make : LG Electronics Camera model : LG-P970 Image timestamp : 2013:05:19 17:27:06 Image number : Exposure time : 1/9 s Aperture : Exposure bias : 0 EV Flash : Yes, compulsory Flash bias : Focal length : 3.7 mm Subject distance: ISO speed : 745 Exposure mode : Metering mode : Average Macro mode : Image quality : Exif Resolution : White balance : Auto Thumbnail : image/jpeg, 13776 Bytes Copyright : Exif comment : 
 identify -verbose image.png 

Идентифицировать из пакета ImageMagick.

Он также извлекает информацию exif из jpeg-изображения.

Вы можете попробовать эту команду, если приведенные выше ответы не работают:

 rdjpgcom -verbose photo.jpg 

Он будет показывать такую ​​информацию, как:

Изображение JPEG составляет 564w * 779h, 3 цветовых компонента, 8 бит на образец

Кроме того, ознакомьтесь с ExifTool от Phil Harvey ; пример:

 $ exiftool test.png ExifTool Version Number : 8.15 File Name : test.png Directory : . File Size : 12 MB File Modification Date/Time : 2014:02:13 13:04:52+01:00 File Permissions : rw-r--r-- File Type : PNG MIME Type : image/png Image Width : 2490 Image Height : 3424 Bit Depth : 8 Color Type : RGB Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Significant Bits : 8 8 8 Image Size : 2490x3424 

Кстати, я искал информацию о dpi / разрешении из командной строки; И интересно, иногда ни один из этих инструментов не сообщает об этом в изображении (как в приведенном выше фрагменте); Для получения дополнительной информации см. Раздел «Я хочу изменить DPI с помощью Imagemagick без изменения фактического размера данных изображения – Super User – однако, identify -verbose похоже, работает для того же изображения, что и в предыдущем фрагменте:

 $ identify -verbose test.png Image: test.png Format: PNG (Portable Network Graphics) Class: DirectClass Geometry: 2490x3424+0+0 Resolution: 72x72 Print size: 34.5833x47.5556 Units: Undefined Type: TrueColor Endianess: Undefined Colorspace: RGB Depth: 8-bit Channel depth: red: 8-bit green: 8-bit blue: 8-bit Channel statistics: Red: min: 8 (0.0313725) max: 255 (1) mean: 237.541 (0.931533) standard deviation: 37.2797 (0.146195) kurtosis: 21.2876 skewness: -4.56853 Green: min: 15 (0.0588235) max: 255 (1) mean: 240.007 (0.941204) standard deviation: 37.8264 (0.148339) kurtosis: 20.7241 skewness: -4.51584 Blue: min: 9 (0.0352941) max: 255 (1) mean: 240.349 (0.942547) standard deviation: 38.7118 (0.151811) kurtosis: 22.255 skewness: -4.72275 Image statistics: Overall: min: 8 (0.0313725) max: 255 (1) mean: 179.474 (0.703821) standard deviation: 108.711 (0.426316) kurtosis: -0.958865 skewness: -0.995795 Rendering intent: Undefined Interlace: None Background color: white Border color: rgb(223,223,223) Matte color: grey74 Transparent color: black Compose: Over Page geometry: 2490x3424+0+0 Dispose: Undefined Iterations: 0 Compression: Zip Orientation: Undefined Properties: date:create: 2014-02-13T13:11:08+01:00 date:modify: 2014-02-13T13:04:52+01:00 signature: bada990d3ba29b311501146d9013d67cf36f667c6d39b1f28a72ce913924397d Artifacts: verbose: true Tainted: False Filesize: 12.52MB Number pixels: 8.526M Pixels per second: 7.894M User time: 1.080u Elapsed time: 0:02.080 Version: ImageMagick 6.6.2-6 2012-08-17 Q16 http://www.imagemagick.org 

… хотя, может быть немного сложно читать разрешение в единицах PixelsPerInch, используя identify -verbose – см. ImageMagick • Просмотр темы – Не могу установить единицы в пиксель-переключатель? ,

Я только что обнаружил, что меньше (с lessfile / lesspipe) может фактически отображать информацию об изображении с помощью ImageMagick за сценой:

 sudo apt-get install imagemagick less wallpaper.jpg 

Вывод

 wallpaper.jpg JPEG 1920x1200 1920x1200+0+0 8-bit DirectClass 580KB 0.000u 0:00.000 

Другой метод, не опубликованный выше, использует feh (вам нужно его установить):

 feh -l image.jpg 

Вывод:

 NUM FORMAT WIDTH HEIGHT PIXELS SIZE(bytes) ALPHA FILENAME 1 jpeg 1280 960 1228800 91319 - image.jpg 

С помощью:

 feh -l *.jpg 

Выведет таблицу (как указано выше), но со всей информацией о изображениях (увеличивая столбец NUM). Полезно использовать в скриптах.

Инструмент, который вы хотите, это file .

Он показывает удивительную информацию о всех файлах.

Синтаксис:

$ file my_pic.jpg

Вы можете использовать :

 php -r "print_r(getimagesize('file:///archives/Picture/12 farvardin/20120331_013.jpg'));" 

Также вы можете заменить file:// с помощью http://

Если вы имеете дело с PNG, могут быть атрибуты, которые мне трудно читать практически с любого программного обеспечения. Для них вы должны использовать pngmeta:

Pngmeta file.png

Это особенно полезно для эскизов, поскольку, согласно стандарту FreeDesktop, формат PNG должен быть отформатирован и хранить информацию о пути как атрибут PNG (Thumb :: URI).

  • Удалите пароль пользователя, используя команду "net"
  • Как остановить запуск командной строки в полноэкранном режиме?
  • Что означают скобки и число после команды Unix или функции C?
  • Ошибка ввода: нет никакого механизма сценария для расширения файла ".vbs"
  • Cp: ​​чтение `filename ': ошибка ввода / вывода ПОЧЕМУ?
  • Запустите cmd.exe в режиме администратора без explorer.exe
  • Как запустить исполняемые файлы с помощью командной строки с именами пространства с именами и без запуска программы ожидания командной строки?
  • Могу ли я создать ярлык для каталога Windows?
  • Проверка использования пропускной способности конкретного приложения или процесса в Windows 7
  • Как браузер загружает изображение с этого URL-адреса?
  • Конденсация в несколько страниц PDF на листе, через командную строку
  • Interesting Posts

    Отказано в доступе HttpListener

    Антенна с высоким коэффициентом усиления: установите Wi-Fi-маршрутизатор на одну антенну или два

    Тип не имеет члена

    Необходимо обрабатывать неперехваченное исключение и отправлять файл журнала

    Начиная с обновления до Windows 10 мой тачпад быстро переключается с включенного на отключенный

    Ввод ввода / возврата в Selenium

    После установки Hyper V Windows 10 обнаруживает дополнительные общие мониторы PnP

    Каковы различные настройки «Создание действия» в свойствах проекта Visual Studio и что они делают?

    Может ли java-файл иметь более одного classа?

    Как вызывать gvim Windows в среде Windows из Cygwin?

    Создание WinForms TextBox ведет себя как адресная строка вашего браузера

    Как подождать 5 секунд с помощью jQuery?

    Страница CMS со слоистой навигацией не работает

    Два компьютера, один DD-WRT-маршрутизатор, один PPTP VPN для подключения – возможно?

    как получить ip-адрес iphone программно

    Давайте будем гением компьютера.