سؤال كيفية الحصول على معلومات حول صورة (صورة) من سطر أوامر Linux؟


أعمل على تطبيق ويب ، وأحرص حاليًا على ترحيل بعض العناصر من تطبيق قديم ، ولكن أكره أن أحتاج إلى فتح محرر صور للحصول على بعض المعلومات حول الصور التي أهاجرها. أشياء مثل أبعاد الصورة.

هل هناك أداة سطر أوامر يمكنني استخدامها لمثل هذه المهام في Linux؟


220
2018-04-26 09:28


الأصل




الأجوبة:


بالنسبة لبعض تنسيقات الصور ، يمكنك فقط استخدام 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.


217
2018-04-26 09:40



يمكن أن يكون لي فقط ولكن يبدو أن imagemagick يقوم بالفعل بتحميل بيانات الصورة هناك أثناء تشغيله ببطء شديد. المنظمة البحرية الدولية identify يجب أن تستخدم بدلا من ذلك - jozxyqk
يا، /dev/null هي حجة كانيج - Aquarius Power
FWIW هذا هو ما اعتدت على الحصول على تاريخ الإنشاء إنشاء صورة: identify -format "%[EXIF:DateTimeOriginal]\n" foobar.jpg - kralyk
النسخة الحالية من fileيدعم عرض حجم JPEG بدون معلمة إضافية: $ file foo.jpg عائدات foo.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 - Cœur


أفضل طريقة للحصول على هذه المعلومات هي باستخدام identify أمر:

$ identify image.png

أو حجم فقط سمات

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

وهو جزء من برنامج ImageMagick ، ​​والذي يمكنك تثبيته على Ubuntu كما يلي:

$ sudo apt-get install imagemagick

187
2017-12-23 14:16



يمكن العثور على المواصفات لسلسلة التنسيق في دليل GraphicsMagick. - Sjoerd
سأضيف -verbose العلم. كنت بحاجة للعثور على إدارة شؤون الإعلام (التي هي في مجال القرار) - gc5
لـ CentOS do: yum install ImageMagick - tidy
تعمل هذه الإجابة مع jpegs وتعطي المعلومات اللازمة لتثبيتها. - Hugh Perkins
fbrundu كيف ترتبط إدارة شؤون الإعلام بقرار مثل 72x72 - Seanny123


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    :

24
2017-07-25 01:57





معلومات الوسائط من شأنه أن يعطي معلومات أكثر تفصيلا. عادة ما يكون ذلك في repos القياسية على لينكس ، وتتوفر أيضا عن طريق homebrew على OSX.

حاول على سبيل المثال تعمل في المجلد الحالي:

mediainfo *

أو

mediainfo .

سيعرض كلا الأمرين معلومات على جميع ملفات الوسائط في المجلد والمجلدات الفرعية الحالية.

عرض المعلومات على جميع صور JPG بدءًا من المجلد الحالي (بما في ذلك المجلدات الفرعية):

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

كما أنه مفيد جدًا في ملفات الصوت والفيديو ، حيث يعرض معدل البت في جميع تدفقات الصوت / الفيديو ، وتشفير algorythm ، ونوع الحاوية ، ورمز FOURCC ، بمعنى: XVID، X264وما إلى ذلك

هناك أيضا واجهة المستخدم الرسومية المتاحة في repos القياسية لجميع التوزيعات الرئيسية المسماة عادة mediainfo-gui


21
2017-12-23 17:22





identify -verbose image.png

التعرف من حزمة ImageMagick.

كما أنه يستخرج معلومات exif من صورة jpeg.


14
2017-08-31 08:29





أيضا ، تحقق من ExifTool للفيل هارفي. مثال:

$ 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 باستخدام 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 • عرض الموضوع - لا يمكن تعيين وحدات إلى pixelsperinch؟.


14
2018-02-13 12:33





يمكنك تجربة هذا الأمر إذا كانت الإجابات المذكورة أعلاه لا تعمل:

rdjpgcom -verbose photo.jpg

ستعرض معلومات مثل:

صورة JPEG هي 564w * 779h ، 3 مكونات ألوان ، 8 بت لكل عينة


7
2017-10-04 09:53





لقد اكتشفت للتو أن أقل (مع 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

5
2017-12-20 07:26



هل هذه مزحه؟ لقد جربت ذلك ، وقد برزت تحذيرًا يسألني إذا كنت حقا أريد قراءة ملف ثنائي ، ثم عرضت للتو مجموعة من الملفات الثنائية ... (باستخدام Ubuntu 14.04) - Hugh Perkins
تحتاج إلى تثبيت برنامج ImageMagick حتى يعمل. ذكرت أنه يستخدم ImageMagick وراء المشهد ، أليس كذلك؟ - Thanh DK
طريقة غبية جدا للقيام بذلك ... إذا كان لديك imageMagick تثبيت فقط استخدام تحديد الأمر. - Mike Q