Есть ли какая-либо функция для шумоподавления нескольких изображений одновременно с Python - PullRequest
0 голосов
/ 25 марта 2019

Я новичок в Python.С некоторыми недавними исследованиями в Google я нашел программу для удаления шума с изображения и как записать несколько изображений в папку .

Для одного изображенияработает, и я получаю правильный вывод.Но когда я попытался сделать то же самое со всей папкой, он показывает ошибку, сообщающую об ошибке

: (-215: подтверждение не выполнено) L.channels () == 1 && I.channels () == 1 в функции 'cv :: connectedComponents_sub1'

 import matplotlib.pyplot as plt
 import cv2 
 import numpy as np
 from PIL import Image
 import PIL.ImageOps 
 import glob
 path = "C:/Users/user/Desktop/enhance/images/*.*"
 for bb,file in enumerate (glob.glob(path)):

    img = cv2.imread(file)
    ret, bw = cv2.threshold(img, 128,255,cv2.THRESH_BINARY_INV)
    connectivity = 4
    nb_components, output, stats, centroids = cv2.connectedComponentsWithStats(bw, connectivity, cv2.CV_32S)
    sizes = stats[1:, -1]; nb_components = nb_components - 1
    min_size = 50 #threshhold value for small noisy components
    img2 = np.zeros((output.shape), np.uint8)

    for i in range(0, nb_components):
        if sizes[i] >= min_size:
            img2[output == i + 1] = 255

    res = cv2.bitwise_not(img2)
 cv2.imwrite('C:/Users/user/Desktop/enhance/output_images/messigray{}.png'.format(bb), img2)

 image = Image.open('C:/Users/user/Desktop/enhance/output_images/messigray{}.png')

 inverted_image = PIL.ImageOps.invert(image)

 inverted_image.save('C:/Users/user/Desktop/enhance/output_images/out{}.png')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...