0

私の接続されたコンポーネント機能は元の画像を処理し、処理済みの画像を生成します。元の画像をフォルダから削除し、処理済みの画像のみを保持する方法処理後の元の画像を削除する

def run(dirname, img): 
    data = img.load() 
    width, height = img.size 
    output_img = Image.new("RGB", (100, 100)) 
    Zero=np.zeros(shape=(100, 100), dtype=np.uint8) 

    for (x, y) in labels: 
     component = uf.find(labels[(x, y)]) 
     labels[(x, y)] = component 
     path = 'D:/Python36/Fold/' 
     if labels[(x, y)] == 0: 
      Zero[y][x] = 255 
      Zeroth = Image.fromarray(Zero) 
      Zeroth.save(os.path.join(dirname, 'Zero.png'), 'png') 


def main(): 
    path = "D:/Python36/Fold/" 
    for root, dirs, files in os.walk(path): 
     for file_ in files: 
      img = Image.open(os.path.join(root, file_)) 
      img = img.point(lambda p: p > 190 and 255) 
      img = img.convert('1') 
      (labels, output_img) = run(root, img) 


if __name__ == "__main__": 
    main() 

答えて

1

私が正しくあなたの質問を理解していれば、あなたがそれを処理し終わった後、あなたは単にあなたのファイルを削除するためにos.remove()を使用することができます。

あなたの主な機能は、ルックたい:

def main(): 
    path = "D:/Python36/Fold/" 
    for root, dirs, files in os.walk(path): 
     for file_ in files: 
      full_file_path = os.path.join(root, file_) 
      img = Image.open(full_file_path) 
      img = img.point(lambda p: p > 190 and 255) 
      img = img.convert('1') 
      (labels, output_img) = run(root, img) 
      os.remove(full_file_path) 
+0

https://stackoverflow.com/questions/47964336/two-pass-connected-component-number-of-components-issue/47964562#47964562チェックこの問題 –