Как проверить, является ли изображение поврежденным изображением?

#image-processing #dataset #conv-neural-network

#обработка изображений #набор данных #conv-нейронная сеть

Вопрос:

Я пытаюсь создать модель с помощью python для классификации изображений. Набор данных, который я хочу использовать, содержит изображения в оттенках серого и включает в себя поврежденные изображения, такие как эти:

введите описание изображения здесь

введите описание изображения здесь

Обратите внимание, что на этом изображении много черных пикселей с левой стороны, но много ярких пикселей с правой стороны (относительно изображений, показанных внизу):

введите описание изображения здесь

В то время как другие изображения также могут содержать много черных пикселей, но не повреждены:

введите описание изображения здесь

Я попытался подсчитать количество черных пикселей и удалить изображения, содержащие более 2000 черных пикселей, но понял, что я также нахожу изображения, которые не повреждены.

 if np.count_nonzero(images[i]==0) > 2000:
    corrupted_indexes.append(i)
 

Как я могу найти только поврежденные изображения?

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

Ответ №1:

Что-то, что вы можете сделать, это вычислить среднее значение черного для каждого изображения, и если значение входящего изображения больше этого среднего, считайте его поврежденным.

Комментарии:

1. Проблема в том, что некоторые поврежденные изображения содержат много ярких пикселей, я отредактировал вопрос, чтобы вы могли увидеть пример. И есть поврежденные изображения с довольно тонкими черными линиями, поэтому я скорее считаю их поврежденными.