簡體   English   中英

如何使用Python PIL設置TIFF圖像分辨率

[英]how to set the TIFF image resolution with Python PIL

我使用以下腳本來設置tiff圖像的分辨率:

from PIL import Image
im=Image.open('abc.bmp')
im.info
im=im.convert('1')
im.info
im.save('abc.tif')

如我所見,圖像的分辨率為('dpi':(300,300)),我假設輸出的TIFF圖像的分辨率應為300 DPI。 但是,當我讀取TIFF文件的頭文件信息時,輸出分辨率是不確定的。 關於設置分辨率有什么想法嗎? 謝謝。

我已經使用ImageMagick的identify程序來讀取文件元數據。 我的源文件是古老的Lena圖像 ,其圖像為:

$ identify -verbose lena.jpg
…
Resolution: 72x72
…

分辨率包含在JFIF塊中。 PIL†似乎沒有在Image.open中轉換此JFIF塊:

>>> im = Image.open('lena.jpg')
>>> im.info 
{'exif': b'Exif\x00\x00II*\x00\x08…',
 'jfif': 257,
 'jfif_density': (1, 1),
 'jfif_unit': 0,
 'jfif_version': (1, 1)}

但是,您可以為TIFF輸出指定分辨率

>>> im.save('lena.tiff', dpi=(300, 300))
>>> lena = Image.open('lena.tiff')
>>> lena.info
{'compression': 'raw', 'dpi': (300.0, 300.0)}

identify同意

$ identify -verbose lena.tiff
…
  Resolution: 300x300
…

†關於PIL明顯死亡的說明

據我所知, PIL最新版本是2009年 ,而Pillow Project似乎正在積極開發中 ,它已取代了PIL 不幸的是,Pillow並沒有更改軟件包名稱,因此,如果您編寫:

import PIL

要么

from PIL import Image

您知道如何使用哪個庫,除非

>>> PIL.PILLOW_VERSION 

在PIL下應該會產生NameError,但在Pillow下會產生版本號(“ 2.9.0”是最新版本)。

如果您使用的是PIL,而不是Pillow,我不知道上面的答案是否對您有用,而且我今天想讀多少個PIL式代碼已達到極限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM