Как вывести картинку из цикла - PullRequest
0 голосов
/ 06 февраля 2020

Возникли небольшие проблемы с моим python кодом. Я пытаюсь взять набор изображений и запустить код, единственная проблема в том, что у меня есть al oop, который работает успешно, но не выводит никакого изображения. Я знаю, что мне нужно вывести изображение в отдельную папку и изменить имя, но не знаю, как.

Вот пример набора изображений

https://drive.google.com/drive/folders/1R7bZH2zcAo0EUCeayDD9xB29qhKUBQWw?usp=sharing

    import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from scipy.ndimage.morphology import binary_dilation

#from https://stackoverflow.com/questions/41190852/most-efficient-way-to-forward-fill-nan-values-in-numpy-array
def pandas_fill(arr):
    df = pd.DataFrame(arr)
    df.fillna(method='ffill', axis=0, inplace=True)
    out = df.as_matrix()
    return out

import os
directory = 'C:\\Users\\Dj_Mi\\Desktop\\Python\\Test Pictures\\1.12 TGI Exp-6.2-5d F0 SH ST50 AM'

for filename in os.listdir(directory):
    if filename.endswith(".jpg"):
        f = open(filename)
        im = plt.imread(filename)
        mask = np.any(np.concatenate((im[:, :, 0:1] < 50, im[:, :, 1:2] < 45), axis=2), axis=2)
        mask = binary_dilation(mask, iterations=10)

        im2 = im.copy().astype(np.float)
        im2[mask, :] = np.nan

        for i in range(3):
            im2[:, :, i] = pandas_fill(im2[:, :, i])
        im2 = im2.astype(np.integer)

        f, ax = plt.subplots(1, figsize=(100, 10))
        ax.imshow(im2)

        cap.release()
        cv2.destroyAllWindows()
        return images, outfile
...