私は私のコードは次のようはTypeError:+のためのサポートされていないオペランドのタイプ(S): 'PosixPath' と 'str' は
import os
import cv2
import random
from pathlib import Path
path = Path(__file__).parent
path = "../img_folder"
for f in path.iterdir():
print(f)
f = str(f)
img=cv2.imread(f)
line = random.randint(0, 50)
img[3, 3, :] = line
cv2.imwrite(path + "/" + "photo.png", img)
トレースバックがcv2.imwrite~
のコードを言うでエラー
TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
を得ました間違っている。なぜこれが間違っているのか分かりません。このタイプのパスエラーですか?あるいは、私はこの方法を使うのが間違っていますか?私はこれをどのように修正すべきですか?
を使用することはできませんが、あなたが正しいコードを掲載よろしいですか? 'path'はforループの最初の文字列ですが、' iterdir'を呼び出します。AFAIKはPython2または3の 'str'のメソッドではありません。 –
' path = " ../ img_folder "は存在しません(@SilvioMayoloのように)、' pathlib.Path'は 'PosixPath'オブジェクト(文字列ではありません)を返します。私はあなたがこれら2つの異なるオブジェクトを直接追加できるとは思わない。 –