0

My connected component function takes original image processes it and generates processed images how do i delete original image from folder and keep only processed one.

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()
Mun Says
  • 97
  • 1
  • 7

1 Answers1

1

If I understand your question correctly you can simply use os.remove() to remove your file after you're done processing it.

Your main function would then like look:

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)
Glenn D.J.
  • 1,874
  • 1
  • 8
  • 19
  • https://stackoverflow.com/questions/47964336/two-pass-connected-component-number-of-components-issue/47964562#47964562 check this issue – Mun Says Dec 25 '17 at 12:17