カテゴリー
D-Studio プログラム

TIFヘッダ編集

久しぶりの投稿はPythonプログラム!
D-Studioでは現在Pythonをメインに仕事してます!
研究施設などでよく使われる画像フォーマットのTIF。
こいつにはヘッダーがついており画像情報が詰め込まれてます。
それをPythonで編集します!

下記はサンプルクラス。
今回ヘッダ情報の取得自体は時間かからず直ぐに対応できたのだが、
書き換えの部分でかなり難航!
改めてWEB検索スキルの大事さがわかった。
画像保存の時に「tiffinfo=****」のオプションが必要!!

TIF画像のヘッダにある説明文の修正など実施したいときは参考に!
from PIL import Image, TiffImagePlugin, TiffTags
from PIL.TiffImagePlugin import _limit_rational, IFDRational

class TIF_edit:

    def __init__(self) -> None:
        pass

    def get_tag(self, imgpath):
        im = Image.open(imgpath)
        im_tag_v2 = im.tag_v2
        for k in im_tag_v2.keys():
            if TiffTags.TAGS_V2.get(k):
                print(k,TiffTags.TAGS_V2[k][1],im_tag_v2[k])
            elif TiffTags.TAGS.get(k):
                print(k,TiffTags.TAGS[k],im_tag_v2[k])

    def get_Description(self, imgpath):
        im = Image.open(imgpath)
        desc = im.tag_v2.get(270)
        print("■desc■"+str(desc))
        return desc

    def write_ImageDescription(self, imgpath, outpath, comment, upd_flag=False):
        im = Image.open(imgpath)
        tiff_info = im.tag_v2
        # 追記処理
        if upd_flag == False:
            desc = tiff_info.get(270)
            desc = str(desc)+comment
            tiff_info[270] = desc
        # 書き換え
        else:
            desc = comment
            tiff_info[270] = desc
        im.save(outpath, tiffinfo=tiff_info)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です