TIFF画像の解像度を設定するには、次のスクリプトを使用します。
from PIL import Image
im=Image.open("abc.bmp")
im.info
im=im.convert("1")
im.info
im.save("abc.tif")
私がはっきりと分かるように、image((dpi):(300、300))は、出力TIFF画像の解像度が300 DPIであることを前提としています。ただし、TIFFファイルの先頭ファイル情報を読んだときの出力解像度は不定です。解像度を設定する上で何かアイデアはありますか?ありがとう。
回答:
回答№1は2私は "ImageMagick"を使っています identify
ファイルのメタデータを読み込むプログラム。私のソースファイルは 由緒あるレナ画像 そのために:
$ identify -verbose lena.jpg
…
Resolution: 72x72
…
解像度がJFIFブロックに含まれている場所。 PIL†はImage.openのこのJFIFブロックを翻訳していないようです。
>>> im = Image.open("lena.jpg")
>>> im.info
{"exif": b"Exifx00x00II*x00x08…",
"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はパッケージ名を変更しませんでした。
import PIL
または
from PIL import Image
どのライブラリを使って作業しているかを知る方法がわかっている
>>> PIL.PILLOW_VERSION
PILではNameErrorが返されますが、Pillowではバージョン番号( "2.9.0"が最新のリリースです)が返されます。
PillではなくPILを使用しているのであれば、上記の答えがうまくいくかどうかはわかりません。そして、今日読んでほしいPIL風コードの数に限界があります。