답변:
file
다른 답변에서 명령 사용은 때때로 일치하지 않습니다. 예를 들면 다음과 같습니다.
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "256 colors.jpg"
256 colors.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 800x800, frames 3
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "vnStat.png"
vnStat.png: PNG image data, 410 x 121, 8-bit/color RGB, non-interlaced
첫 번째 인스턴스는 아마도 카메라 사진이고 두 번째 인스턴스는 화면 캡처를 사용하여 찍은 것입니다.
identify
내 대답의 기반이 명령은 모든 경우에 제대로 작동하려면 나타납니다. 예를 들어 위의 첫 번째 인스턴스에서 테스트하는 경우 :
rick@dell:~/Pictures$ identify "256 colors.jpg"
256 colors.jpg JPEG 800x800 800x800+0+0 8-bit sRGB 45KB 0.000u 0:00.000
나는이 ImageMagick이가 사용에 저를 허용하는 설치 :
$ identify -verbose vnStat.png
Image: vnStat.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 410x121+0+0
Units: Undefined
Type: TrueColor
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Pixels: 49610
Red:
min: 0 (0)
max: 255 (1)
mean: 12.0814 (0.0473779)
standard deviation: 46.7032 (0.18315)
kurtosis: 18.8998
skewness: 4.49862
Green:
min: 0 (0)
max: 255 (1)
mean: 21.1804 (0.0830606)
standard deviation: 57.5336 (0.225622)
kurtosis: 6.68226
skewness: 2.82613
Blue:
min: 0 (0)
max: 255 (1)
mean: 14.2606 (0.0559237)
standard deviation: 50.2969 (0.197243)
kurtosis: 13.5573
skewness: 3.85914
Image statistics:
Overall:
min: 0 (0)
max: 255 (1)
mean: 15.8408 (0.0621207)
standard deviation: 51.7078 (0.202776)
kurtosis: 11.8528
skewness: 3.62638
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 410x121+0+0
Dispose: Undefined
Iterations: 0
Compression: Zip
Orientation: Undefined
Properties:
date:create: 2017-01-24T20:04:50-07:00
date:modify: 2017-01-24T20:04:50-07:00
png:IHDR.bit-depth-orig: 8
png:IHDR.bit_depth: 8
png:IHDR.color-type-orig: 2
png:IHDR.color_type: 2 (Truecolor)
png:IHDR.interlace_method: 0 (Not interlaced)
png:IHDR.width,height: 410, 121
png:sRGB: intent=0 (Perceptual Intent)
png:text: 1 tEXt/zTXt/iTXt chunks were found
signature: e9f31b79da6ce46cdea5da21ae8648496faa181b0621098aa2dbbdff4a9a4502
Software: gnome-screenshot
Artifacts:
filename: vnStat.png
verbose: true
Tainted: False
Filesize: 14.7KB
Number pixels: 49.6K
Pixels per second: 0B
User time: 0.000u
Elapsed time: 0:01.000
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
요약 보고서의 경우 모든 매개 변수를 생략하십시오.
$ identify vnStat.png
vnStat.png PNG 410x121 410x121+0+0 8-bit sRGB 14.7KB 0.000u 0:00.000
대체 vnStat.png
자신과 .png
파일 이름과 필요한 경우 경로를 붙입니다.
PNG-24 대 PNG-32를 이해하기 위해 SuperUser의 대답은 다음과 같이 요약합니다.
이미지가 24 비트이면 다음이 표시됩니다.
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
PNG 이미지가 32 비트이면 다음이 표시됩니다.
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
alpha: 8-bit
그러나 8 비트 색상에 빨강, 녹색 및 파랑에 대해 8 비트도 표시되므로이 대답은 완전하지 않으며, 색상 표 만 사용하여 선택 횟수를 제한합니다 (이전 Windows 2.0에서와 같이).
Wikipedia Depth Article의 다음 세 가지 그림을 살펴 보십시오 .
파일 이름: 8_bit.png
사용 :
identify -verbose 8_bit.png | grep colors
png:PLTE.number_colors: 249
우리는 249 가지 색상이 사용되는 것을 본다. 8 비트로 가능한 최대 값은 256 색입니다.
파일 이름: 4_bit.png
사용 :
identify -verbose 4_bit.png | grep colors
png:PLTE.number_colors: 16
4 비트에서 가능한 최대 색상 조합 인 16 개의 색상이 사용됩니다.
파일 이름: 2_bit.png
사용 :
$ identify -verbose 2_bit.png | grep colors
png:PLTE.number_colors: 4
우리는 2 비트로 가능한 최대 색상 조합 인 4 가지 색상이 사용되었음을 알 수 있습니다.
32 비트 PNG (채널당 8 비트-알파 포함, "8 비트 알파의 24 비트 PNG"또는 "알파가있는 PNGG24"라고도 함) :
$ file zyne_zyne.png:
PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced
24 비트 PNG (채널당 8 비트-알파 채널 없음)
$ file 24.png
PNG image data, 1060 x 821, 8-bit/color RGB, non-interlaced
8 비트 PNG (256 색) :
$ file 8bit.png
PNG image data, 1060 x 821, 8-bit colormap, non-interlaced
file
는 저의 주요 파일 식별 도구이며, 이국적인 파일 형식에 대해서도 말할 수있는 정도에 항상 놀랐습니다. 허락하신다면, 그 구현은 80 년대 :)부터 꽤 성장
exiftool 이있는 경우 설치되어 수행 할 수 있습니다.
bash-4.3 # exiftool continents_blank_l.png ExifTool 버전 번호 : 10.20 파일 이름 : continents_blank_l.png 디렉토리 :. 파일 크기 : 170 kB 파일 수정 날짜 / 시간 : 2016 : 07 : 05 07 : 59 : 28 + 05 : 30 파일 액세스 날짜 / 시간 : 2017 : 08 : 07 00 : 35 : 15 + 05 : 30 파일 아이 노드 변경 날짜 / 시간 : 2016 : 07 : 05 07 : 59 : 28 + 05 : 30 파일 권한 : rw-r--r-- 파일 형식 : PNG 파일 형식 확장자 : png MIME 유형 : image / png 이미지 폭 : 1100 이미지 높이 : 850 비트 깊이 : 8 색상 유형 : 알파 RGB 압축 : 수축 / 팽창 필터 : 적응 인터레이스 : 비 인터레이스 배경색 : 255255255 단위 X 당 픽셀 수 : 3937 단위당 픽셀 Y : 3937 픽셀 단위 : 미터 수정 날짜 : 2016 : 07 : 05 02:29:28 이미지 크기 : 1100x850 메가 픽셀 : 0.935
해커의 길 : IHDR PNG 청크 내부의 실제 바이트를 들여다보십시오 .
$ od -j 24 -N 2 -t u1 -An drivemount-applet_open.png
8 2
첫 번째 숫자는 깊이를 알려줍니다. 두 번째는 색상 유형입니다 (2는 RGB 이미지, 즉 3 개의 채널이있는 이미지 또는 픽셀 당 3 개의 샘플 값).
따라서이 경우 RGB8 PNG (픽셀 당 24 비트)가 있습니다.
PNG 파일의 헤더에있는 파일 마법을 사용하는 위의 "파일"사용에 대한 대안으로 PNG 파일로 작업하는 경우 " pngtools "패키지를 설치 하는 것이 유용합니다 .
그런 다음 pnginfo 를 사용하여 BitDepth (비트 / 샘플) (다른 속성 인 픽셀 깊이와 혼동해서는 안 됨)를 포함하여 PNG 파일의 속성에 대한 자세한 정보를 제공 할 수 있습니다.
file Debian_Expo.png
Debian_Expo.png: PNG image data, 1280 x 1024, 8-bit/color RGB, non-interlaced
---
pnginfo Debian_Expo.png
Image Width: 1280 Image Length: 1024
Bitdepth (Bits/Sample): 8
Channels (Samples/Pixel): 3
Pixel depth (Pixel Depth): 24
Colour Type (Photometric Interpretation): RGB
...
JPEG 파일에 해당하는 파일은 jpeginfo라는 자체 패키지 jpeginfo입니다.
pnginfo의 출력 형식을 사용하면 셸 스크립트에서 BitDepth를 사용하는 경우 별도의 줄에있는 것처럼 BitDepth 값을 쉽게 추출 할 수 있습니다.
파일 이름이 JPEG이기 때문에 실제로 PNG 파일이 아닌 경우 pnginfo는 "이 파일은 유효한 PNG 파일이 아닙니다"라고보고합니다.
항상 작업에 적합한 도구는 도구를 사용하는 빈도와 출력 처리 방법에 따라 결정됩니다.
identify -format %z
- 참조 ImageMagick과의 -format 옵션을 이상.