出来上がったタグを元のJPGに書き込むのを作りました

これで。下記ができるので作業性がアップしました

  • 自動タグ生成
  • PhotoMetaInfo.exeで編集
  • データベース更新

 

エクスプローラで見ると

 

 

PhotoMetaInfo.exeで編集ができるようになりました

sql2meta.py

 

#stag_guiでxmp生成
#xmp2sqlでinsert.sqlseisei 
#insert.sqlからjpgのタグ情報を更新する


import xml.etree.ElementTree as ET
import csv
import glob, os
import piexif
from PIL import Image



def sqlread(picdir):
   
   with open('insert.sql', 'r', encoding='utf-8') as f:
      for line in f:
         # 改行コードを除去して出力(stripを使用)
         w=line.strip()

         tags=w.split("'")
         if (len(tags)>2):
             filename=tags[1]
             filename=filename.replace("webp","jpg")
             tag=tags[3].encode("utf-16le")

             image_path=picdir+filename
             output_path = image_path
     
             print (image_path)
             img = Image.open(image_path)

             try:
                exif_dict = piexif.load(img.info['exif'])
             except KeyError:
                exif_dict = {"0th": {}, "Exif": {}, "GPS": {}, "1st": {}, "thumbnail": None}

 #            exif_dict["0th"][piexif.ImageIFD.XPKeywords] = tags
 #             tags="風景; 旅行; テスト".encode("utf-16le")
             exif_dict["0th"][piexif.ImageIFD.XPKeywords] = tag
  
             exif_bytes = piexif.dump(exif_dict)
             img.save(output_path, "jpeg", exif=exif_bytes)
  

picdir=input("写真フォルダー")
sqlread(picdir)