OPENCV IMWRITE不保存照片,返回false



我有以下代码,应该

  • 遍历所有文件
  • 收集所有属于文件夹" 0"或" 1"的照片
  • 有点改变照片
  • 将它们放入新文件夹中,----所有" 0-Photos"转到唯一的文件夹。1
  • 相同

这里是

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)

它不会出现错误,但由于某些原因没有保存任何文件。每当我尝试通过

保存单个图像时
 cv2.imwrite(r'samplecancerdata18865_idx5_x2101_y851_class1.png',img)

我所得到的只是错误。

使用python字符串中的backslashes( (可能会导致惊喜。在上面的代码中,Backslash正在产生一个具有八十度值的字符,在Windows上的文件名中无效。有关详细信息

Python运行时对Windows上的前向斜杠(/(非常满意。使用这些。

您保存的文件夹可能不存在。

确保存在这些文件夹:

cancerdata
cancerdata1
samplecancerdata1

我也有同样的问题。我的道路包含一些希伯来人物,这些角色可能不支持该库。我将其更改为英语,并保存了图像。更改前的路径:r" c:פרפר dataset"
更改后的路径:r&quot" c: project dataset;

首先设置要存储图像作为当前工作目录的目录。然后只需传递图像的名称,您的图像就可以保存。

最新更新