前提
pythonで画像ファイルを読み込み輝度値をcsvファイルに出力するシステムを作っています。
現状読み込み,出力の際にopenを用いていますが,その際に特定のパスを指定したいのですがソースコード内15行目 Img = image.open(ファイル名,パス)と入力するとエラーが発生します.
実現したいこと
- 特定のパスの画像を連番で読み込み輝度値をcsvファイルに出力する.
該当のソースコード
python
1import csv 2from PIL import Image 3import cv2 4import numpy as np 5import glob 6 7# 画像読込 8 9for i in range(1650, 3871,1): 10 # 画像読込 11 img = Image.open("img_"+str(i)+".png") 12 13 img = img.convert("L") 14 15 width=720 16 height=480 17 18 ######################################################## 19 # 輝度値の取得、CSVファイルに保存 20 21 # 画像の輝度値をlistで取得 22 data = list(img.getdata()) 23 24 # 輝度値をCSVファイルで保存 25 with open('image_data'+str(i)+'.csv', 'w+', newline='') as csvfile: 26 spamwriter = csv.writer(csvfile) 27 28 # 画像データを一行ごと書き込み 29 x = 0 30 for y in range(height): 31 # 一行分のデータ 32 line_data = data[x:x+width] 33 # 一行分のデータを書き込み 34 spamwriter.writerow(line_data) 35 x += width
> ソースコード内15行目 Img = image.open(ファイル名,パス)と入力するとエラーが発生します.
どのようなコードで記載されたのでしょうか。
また、どのようなエラーが発生したのでしょうか。具体的なエラーメッセージをそのまま記載していただけないでしょうか。
失礼しました.コードは次のように入力しました.
img = Image.open("img_"+str(i)+".png" ,E:/2021//png )
エラーメッセージは
ValueError: bad mode
と表示されました.
Image.open の第2引数には読み取りモードを指定します。公式のドキュメントをご確認下さい。
https://pillow.readthedocs.io/en/stable/reference/Image.html#functions
回答1件