Лучший способ определить «пустое» изображение / слайд - PullRequest
1 голос
/ 22 апреля 2020

Я имею дело с большим количеством файлов изображений - особенно с образцами тканей. Часто, когда вы увеличиваете изображение и делите изображение на плитки, появляются «пустые» плитки. Мне нужно идентифицировать эти «пустые» плитки и удалить их. К сожалению, это не все один однородный цвет, но вы можете видеть в моих примерах, у меня есть одна реальная плитка (очевидная), а остальные три "пустые" (в кавычках здесь, потому что для визуального глаза они пусты, но с точки зрения пикселя это не единообразное значение). Как лучше всего использовать Python (используя подушку?), Чтобы определить, что эти 3 пустые?

Normal Gray3 Gray2

Gray1

1 Ответ

1 голос
/ 23 апреля 2020

Вы можете попробовать что-то с numpy (или проверить стандартное отклонение или посчитать количество уникальных значений)

Стандартное отклонение пустого img должно быть близко к нулю: (для адаптации)

 import numpy as np
 image = Image.open('img.jpeg').convert('LA')
 # convert image to numpy array
 data = asarray(image)
 np.reshape(data, (-1,1))
 std_dev=np.std(data)
 if std_dev<1:
     check img

С уникальным количеством: (для адаптации)

 image = Image.open('img.jpeg').convert('LA')
 # convert image to numpy array
 data = asarray(image)
 np.reshape(data, (-1,1)) 
 u, count_unique = np.unique(data, unique_counts =True)
 if count_unique.size< 10:
     check img
...