Мне нужно определить, является ли изображение пицизированным или нет. Поэтому я использую код Python, который был взят из другого сообщения stackoverflow:
import numpy as np
from PIL import Image, ImageChops
im = Image.open('img/low2.jpg')
im2 = im.transform(im.size, Image.AFFINE, (1,0,1,0,1,1))
im3 = ImageChops.subtract(im, im2)
im3 = np.asarray(im3)
im3 = np.sum(im3,axis=0)[:-1]
mean = np.mean(im3)
peak_spacing = np.diff([i for i,v in enumerate(im3) if v > mean*2])
mean_spacing = np.mean(peak_spacing)
std_spacing = np.std(peak_spacing)
Я получаю эту ошибку:
Файл "pixelated.py", строка 11, в
peak_spacing = np.diff ([i для i, v в перечислении (im3), если v> означает * 2])
ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()
Как я могу это исправить? Я новичок в Python, пожалуйста, дайте мне любую идею или помощь.