使用原始文件名保存图像

Use original file name to save image

我想用原始文件名保存图像 例如,如果原始文件名是 hero 那么处理后的图像名称应该是 hero_Zero.png.
我不知道如何在 def run(dirs, img):
中传递文件名 下面的代码是正确的和修改过的。

def run(dirs, img, file_):
  for (x, y) in labels:
        component = uf.find(labels[(x, y)])
        labels[(x, y)] = component   
        if labels[(x, y)]==0:
            Zero[y][x]=int(255)
            count=count+1
            if count<=43:
                continue
            elif count>43:
                Zeroth = Image.fromarray(Zero)
                Zeroth.save(os.path.join(dirs, file_+'Zero.png'), 'png')  
           return (labels, output_img)
def main():
    path='E:/Dataset/1/'
    for root, dirs, files in sorted(os.walk(path)):
        for file_ in files:
            #print (dirs)
           # print (files)
            full_file_path = os.path.join(root, file_)
            img = Image.open(full_file_path)
            (labels, output_img) = run(root, img, file_[:-4])

为您的函数定义添加一个额外的参数。除了获取目录和图像之外,还传递文件名。结果将如下所示:

def run(dirs, img, f_name):
  for (x, y) in labels:
        component = uf.find(labels[(x, y)])
        labels[(x, y)] = component   
        if labels[(x, y)]==0:
            Zero[y][x]=int(255)
            count=count+1
            if count<=43:
                continue
            elif count>43:
                Zeroth = Image.fromarray(Zero)
                Zeroth.save(os.path.join(dirs, f_name + '_Zero.png'), 'png')