Pythonコード実装pngフォーマットピクチャをjpg個フォーマットに一括変換

4778 ワード

Pythonコード実装pngフォーマットピクチャをjpg個フォーマットに一括変換
質問の由来:
最近歩行者検出関連の項目ではopencvでデータセットを処理する必要があり、INNRIAデータセットを選択しているが、opencvがpngフォーマットを開いた画像は常にエラーを報告するため、画像をjpgフォーマットに変換する必要がある.
コード実装:
import os
from PIL import Image

dirname_read="png       /"   //       
dirname_write="jpg      /"
names=os.listdir(dirname_read)
count=0
for name in names:
    img=Image.open(dirname_read+name)
    name=name.split(".")
    if name[-1] == "png":
        name[-1] = "jpg"
        name = str.join(".", name)
        r,g,b,a=img.split()              
        img=Image.merge("RGB",(r,g,b))   
        to_save_path = dirname_write + name
        img.save(to_save_path)
        count+=1
        print(to_save_path, "------conut:",count)
    else:
        continue

発生する可能性のある問題:
一部のpngフォーマットのピクチャは4チャネル(aphlaチャネルが多い)であり、jpgフォーマットは3チャネルであるため、pngピクチャのrgbチャネルを抽出して変換する必要がある.必要でない場合があります.この2行のコードを注釈すればいい.
コード:
r,g,b,a=img.split()              
img=Image.merge("RGB",(r,g,b))