[英]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的最新版本是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.