PythonのOpenCVで日本語ファイル名を開く方法

清親畫帖. [1]コンピュータ
出典:国立国会図書館「NDLイメージバンク」 (https://rnavi.ndl.go.jp/imagebank/)
テンポラリファイルに書き出すという酷い方法を思いついたので実践してみます。
import cv2
import shutil
import os
import tempfile

def my_cv2_imread(filename: str):
    t = tempfile.NamedTemporaryFile()
    temp_file_name = t.name
    t.close()
    shutil.copyfile(filename, temp_file_name)
    im = cv2.imread(temp_file_name)
    os.remove(temp_file_name)
    return im
    
    
# ファイル名に漢字を含む場合
#img = cv2.imread("画像ファイル.png", cv2.IMREAD_UNCHANGED)
img = my_cv2_imread("画像ファイル.png")

cv2.imshow("Image", img)
cv2.waitKey(0)

コメント