Я новичок в 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')