Цикл for не записывает изображенияPython

Программы на Python
Anonymous
Цикл for не записывает изображения

Сообщение Anonymous »

Я пытаюсь написать цикл for, который открывает каждое изображение в папке, обрабатывает его, а затем выводит обратно в ту же папку. Проблема в том, что когда я запускаю скрипт, ничего не происходит. Я просто вижу сценарий, отображаемый в командном окне. Я попробовал запустить каждую часть сценария вне цикла, и с отдельными частями все в порядке. Для справки: я определил изображение гауссовского шума вне цикла, причем цикл добавляет гауссов шум к исходному изображению. Затем я хочу добавить число в конец имени нового изображения, чтобы исходное изображение не было удалено.
import os
import glob
import cv2
import numpy as np
img_dir = "path to folder"
data_path = os.path.join(img_dir, '*tif')
files = glob.glob(data_path)
data = []

#Create zero image with same dimensions as input image
gauss_noise=np.zeros((400,400, 3),dtype=np.uint8) #change according to image size
cv2.randn(gauss_noise,5,95)
gauss_noise=(gauss_noise*10.5).astype(np.uint8)

#Loop
i = 0
for f1 in files:
img = cv2.imread(f1)
data.append(img)
# Add gaussian noise image to original image
gn_img = cv2.add(img, gauss_noise)
cv2.imwrite(
"{}{}_{:07d}.tif".format(
img_dir,
f1.split("/")[-1].strip(".tif"),
i),
gn_img)
i += 1


Подробнее здесь: https://stackoverflow.com/questions/789 ... ing-images

Вернуться в «Python»