0

Meine verbundene Komponentenfunktion nimmt das Originalbild auf und verarbeitet verarbeitete Bilder. Wie lösche ich das Originalbild aus dem Ordner und behalte nur den verarbeiteten.Originalbild nach der Bearbeitung entfernen

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() 

Antwort

1

Wenn ich Ihre Frage richtig verstehe, können Sie einfach os.remove() benutzen, um Ihre Datei zu entfernen, nachdem Sie es getan werden verarbeitet.

Ihre Hauptfunktion würde dann wie folgt aussehen:

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 Scheck dieses Problem –

Verwandte Themen