我有以下代码,应该是
这里是
import cv2
import os
import random as rnd
outdir0='cancerdata\\0'
outdir1='cancerdata\\1'
readdir='sample'
j=0;
for dirs in os.listdir(readdir):
dpath=os.path.join(readdir,dirs)
for subdir in os.listdir(dpath):
fpath=os.path.join(dpath,subdir)
for file in os.listdir(fpath):
rfile=os.path.join(fpath,file)
image=cv2.imread(rfile,0)
size=rnd.randint(50,100)
img=cv2.resize(image,(size,size),interpolation=cv2.INTER_AREA)
print(img)
if subdir == '0':
wfile=os.path.join(outdir0,file)
cv2.imwrite(os.path.join(outdir0,file),img)
elif subdir == '1':
wfile=os.path.join(outdir1,file)
cv2.imwrite(os.path.join(outdir1,file),img)
Run Code Online (Sandbox Code Playgroud)
它不会给出错误,但由于某种原因不会保存任何文件。每当我尝试通过保存单个图像时
cv2.imwrite(r'sample\cancerdata\1\8865_idx5_x2101_y851_class1.png',img)
Run Code Online (Sandbox Code Playgroud)
我得到的都是假的。
在 Python 字符串中使用反斜杠 ( \) 可能会导致意外。在上面的代码中,反斜杠生成一个具有八进制值的字符,该字符在 Windows 上的文件名中无效。有关详细信息,请参阅https://docs.python.org/3/reference/lexical_analysis.html#literals。
Python 运行时非常适合/Windows 上的正斜杠 ( )。使用那些。
您要保存到的文件夹可能不存在。
确保这些文件夹存在:
cancerdata\0
cancerdata\1
sample\cancerdata\1
Run Code Online (Sandbox Code Playgroud)