日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux查看照片命令,php 及 linux 命令行方式读取 图片 exif 信息

發布時間:2023/12/18 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux查看照片命令,php 及 linux 命令行方式读取 图片 exif 信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【摘要】Exif就是在JPEG格式頭部插入了數碼照片的信息,包括拍攝時的光圈、快門、白平衡、ISO、焦距、日期時間等各種和拍攝條件以及相機品牌、型號、色彩編碼、拍攝時錄制的聲音以及全球定位系統(GPS)、縮略圖等。簡單地說,Exif=JPEG+拍攝參數。因此,你可以利用任何可以查看JPEG文件的看圖軟件瀏覽Exif格式的照片,但并不是所有的圖形程序都能處理Exif信息。

確保php在編譯的時候已經開啟了exif,如:–enable-exif

查看php是否已經支持exif模塊,可以通過phpinfo()查看,也可以通過命令行方式:

php -i | grep -i exif

exif

EXIF Support => enabled

EXIF Version => 1.4 $Id$

Supported EXIF Version => 0220

exif.decode_jis_intel => JIS => JIS

exif.decode_jis_motorola => JIS => JIS

exif.decode_unicode_intel => UCS-2LE => UCS-2LE

exif.decode_unicode_motorola => UCS-2BE => UCS-2BE

exif.encode_jis => no value => no value

exif.encode_unicode => ISO-8859-15 => ISO-8859-15

1

2

3

4

5

6

7

8

9

10

11

php-i|grep-iexif

exif

EXIFSupport=>enabled

EXIFVersion=>1.4$Id$

SupportedEXIFVersion=>0220

exif.decode_jis_intel=>JIS=>JIS

exif.decode_jis_motorola=>JIS=>JIS

exif.decode_unicode_intel=>UCS-2LE=>UCS-2LE

exif.decode_unicode_motorola=>UCS-2BE=>UCS-2BE

exif.encode_jis=>novalue=>novalue

exif.encode_unicode=>ISO-8859-15=>ISO-8859-15

下面是一個php讀取exif的函數

php_exif_test.php

header("Content-Type: text/html; charset=utf-8");

function getExif($img){

#$exif = exif_read_data($img, 'IFD0');

$exif = exif_read_data($img);

return array (

'文件名' => $exif['FileName'],

'文件類型' => $exif['FileType'],

'器材品牌' => $exif['Make'],

'器材' => $exif['Model'],

'快門' => $exif['ExposureTime'],

'光圈' => $exif['FNumber'],

'焦距' => $exif['FocalLength'],

'感光度' => $exif['ISOSpeedRatings'],

'文件格式' => $exif['MimeType'],

'時間戳' => $exif['DateTime'],

'圖片說明' => $exif['ImageDescription'],

'方向1' => $exif['Orientation'],

'方向2' => $Orientation[$exif['Orientation']],

'水平分辨率' => $exif['XResolution'].$exif['ResolutionUnit'],

'垂直分辨率' => $exif['YResolution'].$exif['ResolutionUnit'],

'作者' => $exif['Artist'],

# 'YCbCr位置控制' => $YCbCrPositioning[$exif['YCbCrPositioning']],

# 'YCbCr位置控制' => $exif['YCbCrPositioning'],

'版權' => $exif['Copyright'],

'Exif版本' => $exif['ExifVersion'],

'拍攝分辨率高' => $exif['COMPUTED']['Height'],

'拍攝分辨率寬' => $exif['COMPUTED']['Width'],

'拍攝時間' => $exif['DateTimeOriginal'],

);

}

$exif = getExif('pic1.jpg');

echo '

';

print_r($exif);

echo '

';

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

php_exif_test.php

header("Content-Type: text/html; charset=utf-8");

functiongetExif($img){

#$exif = exif_read_data($img, 'IFD0');

$exif=exif_read_data($img);

returnarray(

'文件名'=>$exif['FileName'],

'文件類型'=>$exif['FileType'],

'器材品牌'=>$exif['Make'],

'器材'=>$exif['Model'],

'快門'=>$exif['ExposureTime'],

'光圈'=>$exif['FNumber'],

'焦距'=>$exif['FocalLength'],

'感光度'=>$exif['ISOSpeedRatings'],

'文件格式'=>$exif['MimeType'],

'時間戳'=>$exif['DateTime'],

'圖片說明'=>$exif['ImageDescription'],

'方向1'=>$exif['Orientation'],

'方向2'=>$Orientation[$exif['Orientation']],

'水平分辨率'=>$exif['XResolution'].$exif['ResolutionUnit'],

'垂直分辨率'=>$exif['YResolution'].$exif['ResolutionUnit'],

'作者'=>$exif['Artist'],

#????????'YCbCr位置控制' => $YCbCrPositioning[$exif['YCbCrPositioning']],

#????????'YCbCr位置控制' => $exif['YCbCrPositioning'],

'版權'=>$exif['Copyright'],

'Exif版本'=>$exif['ExifVersion'],

'拍攝分辨率高'=>$exif['COMPUTED']['Height'],

'拍攝分辨率寬'=>$exif['COMPUTED']['Width'],

'拍攝時間'=>$exif['DateTimeOriginal'],

);

}

$exif=getExif('pic1.jpg');

echo'

';

print_r($exif);

echo'

';

?>

執行結果如下:

圖片一:

(

[文件名] => pic1.jpg

[文件類型] => 2

[器材品牌] => Canon

[器材] => Canon EOS 5D Mark II

[快門] => 1/25

[光圈] => 14/10

[焦距] => 35/1

[感光度] => 2000

[文件格式] => image/jpeg

[時間戳] => 2013-07-24T13:43:47+08:00

[圖片說明] =>

[方向1] =>

[方向2] =>

[水平分辨率] => 350/12

[垂直分辨率] => 350/12

[作者] => Photographer: Fisher

[版權] => Copyright:clycsz3

[Exif版本] => 0220

[拍攝分辨率高] => 500

[拍攝分辨率寬] => 750

[拍攝時間] => 2013:07:04 01:12:22

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

(

[文件名] => pic1.jpg

[文件類型] => 2

[器材品牌] => Canon

[器材] => Canon EOS 5D Mark II

[快門] => 1/25

[光圈] => 14/10

[焦距] => 35/1

[感光度] => 2000

[文件格式] => image/jpeg

[時間戳] => 2013-07-24T13:43:47+08:00

[圖片說明] =>

[方向1] =>

[方向2] =>

[水平分辨率] => 350/12

[垂直分辨率] => 350/12

[作者] => Photographer: Fisher

[版權] => Copyright:clycsz3

[Exif版本] => 0220

[拍攝分辨率高] => 500

[拍攝分辨率寬] => 750

[拍攝時間] => 2013:07:04 01:12:22

)

圖片二

(

[文件名] => pic2.jpg

[文件類型] => 2

[器材品牌] => Exif

[器材] => II*

[快門] => 1111490560/15

[光圈] => 1111490560/15

[焦距] => 1111490560/15

[感光度] => 100

[文件格式] => image/jpeg

[時間戳] =>

[圖片說明] =>

[方向1] => 1

[方向2] =>

[水平分辨率] => 16795209/12079598092

[垂直分辨率] => 18432/691327992

[作者] =>

[版權] =>

[Exif版本] => 0230

[拍攝分辨率高] => 915

[拍攝分辨率寬] => 1400

[拍攝時間] =>

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

(

[文件名] => pic2.jpg

[文件類型] => 2

[器材品牌] => Exif

[器材] => II*

[快門] => 1111490560/15

[光圈] => 1111490560/15

[焦距] => 1111490560/15

[感光度] => 100

[文件格式] => image/jpeg

[時間戳] =>

[圖片說明] =>

[方向1] => 1

[方向2] =>

[水平分辨率] => 16795209/12079598092

[垂直分辨率] => 18432/691327992

[作者] =>

[版權] =>

[Exif版本] => 0230

[拍攝分辨率高] => 915

[拍攝分辨率寬] => 1400

[拍攝時間] =>

)

發現第二張圖片有些參數取出來的值不對:

[器材品牌] => Exif

[器材] => II*

懷疑是幾種原因導致,一是相機設備的exif信息比較新,php的exifi模塊無法讀取;二是圖片被編輯過,部分exif信息被破壞。

下面提供linux下的一個command方式讀取exif信息的工具–ImageMagick,ubuntu和centos下都有。

如CentOS下的安裝方式: yum install ImageMagick

/usr/bin/identify -verbose pic1.jpg | grep -i exif

exif:ApertureValue: 970854/1000000

exif:Artist: Photographer:Fisher

exif:Copyright: Copyright:clycsz3

exif:DateTime: 2013-07-24T13:43:47+08:00

exif:DateTimeDigitized: 2013:07:04 01:12:22

exif:DateTimeOriginal: 2013:07:04 01:12:22

exif:ExifImageLength: 500

exif:ExifImageWidth: 750

exif:ExifOffset: 276

exif:ExifVersion: 48, 50, 50, 48

exif:ExposureBiasValue: 0/1

exif:ExposureMode: 0

exif:ExposureProgram: 3

exif:ExposureTime: 1/25

exif:Flash: 16

exif:FNumber: 14/10

exif:FocalLength: 35/1

exif:FocalPlaneResolutionUnit: 2

exif:FocalPlaneXResolution: 3861000/1459

exif:FocalPlaneYResolution: 2574000/958

exif:ISOSpeedRatings: 2000

exif:Make: Canon

exif:MaxApertureValue: 1/1

exif:MeteringMode: 5

exif:Model: Canon EOS 5D Mark II

exif:ResolutionUnit: 2

exif:SceneCaptureType: 0

exif:ShutterSpeedValue: 4643856/1000000

exif:Software: Adobe Photoshop CS6 Windows

exif:SubSecTime: 08

exif:SubSecTimeDigitized: 08

exif:SubSecTimeOriginal: 08

exif:WhiteBalance: 0

exif:XResolution: 350/1

exif:YResolution: 350/1

Profile-exif: 708 bytes

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

/usr/bin/identify-verbosepic1.jpg|grep-iexif

exif:ApertureValue:970854/1000000

exif:Artist:Photographer:Fisher

exif:Copyright:Copyright:clycsz3

exif:DateTime:2013-07-24T13:43:47+08:00

exif:DateTimeDigitized:2013:07:0401:12:22

exif:DateTimeOriginal:2013:07:0401:12:22

exif:ExifImageLength:500

exif:ExifImageWidth:750

exif:ExifOffset:276

exif:ExifVersion:48,50,50,48

exif:ExposureBiasValue:0/1

exif:ExposureMode:0

exif:ExposureProgram:3

exif:ExposureTime:1/25

exif:Flash:16

exif:FNumber:14/10

exif:FocalLength:35/1

exif:FocalPlaneResolutionUnit:2

exif:FocalPlaneXResolution:3861000/1459

exif:FocalPlaneYResolution:2574000/958

exif:ISOSpeedRatings:2000

exif:Make:Canon

exif:MaxApertureValue:1/1

exif:MeteringMode:5

exif:Model:CanonEOS5DMarkII

exif:ResolutionUnit:2

exif:SceneCaptureType:0

exif:ShutterSpeedValue:4643856/1000000

exif:Software:AdobePhotoshopCS6Windows

exif:SubSecTime:08

exif:SubSecTimeDigitized:08

exif:SubSecTimeOriginal:08

exif:WhiteBalance:0

exif:XResolution:350/1

exif:YResolution:350/1

Profile-exif:708bytes

看上去還是比較好用的,看看程序上怎么方便處理和調用吧。

也可以跟http://exif.cn/對比一下,看看你取出來的exif信息是否正確。

總結

以上是生活随笔為你收集整理的linux查看照片命令,php 及 linux 命令行方式读取 图片 exif 信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。