目的
あるプログラムを作っていて、画像を読み込む必要があった。その際OpenCVもしくはPillowの選択肢があったが、ドラッグ&ドロップでファイルを読み込ませる場合、日本語や機種依存文字(①.pngとか)のファイル名ではOpenCVのときは読み込めなく、Pillowでは可能だったため、それをここに記す。
環境
- Windows10
- Python 3.6.1
- Pillow バージョンがわからない。。。
- OpenCV バージョンがわからない。。。
実行ソース
OpenCvでの読み込みに失敗しており、画像を何かしようとすると落ちる。 cv2.imshow()の部分だ。
import sys import cv2 from PIL import Image # 引数を取り込む fileName = sys.argv[1:] # プログラム名は取り込まない # 画像読み込み img = Image.open( fileName[0], 'r' ) # OK imgCv = cv2.imread( fileName[0], cv2.IMREAD_GRAYSCALE) # NG img.show() cv2.imshow("OpenCV", imgCv) # ここで落ちる
下記は上記ソースを実行するときに必要な、ドラッグ&ドロップでファイルを読み込ませるために必要なバッチファイル。
cd /d %~dp0 python Read_shift_jis.py %* set /P STR_INPUT="Enterキーを押してください:"