我收到错误TypeError:内置操作的错误参数类型.我写
import os
import cv2
from pathlib import Path
path = Path(__file__).parent
path /= "../../img_folder"
for f in path.iterdir():
print(f)
img=cv2.imread(f)
Run Code Online (Sandbox Code Playgroud)
在img = cv2.imread(f)中,错误发生.这是一个Python错误或目录错误吗?在print(f)中,我认为可以获得正确的目录.我该如何解决这个问题?
nit*_*red 14
看起来像path.iterdir()返回类型的对象<class 'pathlib.PosixPath'>而不是str.并cv2.imread()接受字符串文件名.
所以这解决了它:
import os
import cv2
from pathlib import Path
path = Path(__file__).parent
path /= "../../img_folder"
for f in path.iterdir():
print(f) # <--- type: <class 'pathlib.PosixPath'>
f = str(f) # <--- convert to string
img=cv2.imread(f)
Run Code Online (Sandbox Code Playgroud)