Как подсчитать количество белых и черных пикселей в цветном изображении в питоне? Как подсчитать общее количество пикселей с помощью numpy
Я хочу рассчитать процентное соотношение черных пикселей и белых пикселей для изображения, его цветного изображения.
Вы не хотите запускать for циклы по изображениям — это очень медленно — никакого неуважения к собакам. Используйте Нампи.

Вывод
Если вы имеете в виду, что вам нужно количество пикселей, которые являются либо черными, либо белыми, вы можете либо сложить два приведенных выше числа вместе, либо проверить оба за один раз следующим образом:
Если вам нужен процент, имейте в виду, что общее количество пикселей легко вычислить с помощью:
Что касается тестирования, то оно такое же, как и любая разработка программного обеспечения — привыкайте генерировать тестовые данные и использовать их 🙂
OpenCV — Подсчет количества черных и белых пикселей в изображении
В этой статье мы обсудим подсчет количества черных и белых пикселей в изображении с помощью OpenCV и NumPy.
- OpenCV
- NumPy
Изображение, которое мы используем для демонстрации, показано ниже:

Для отображения OpenCV предоставляет метод imshow () для отображения изображения, которое мы недавно прочитали.
Подсчет пикселей
NumPy предоставляет функцию sum (), которая возвращает сумму всех элементов массива в массиве NumPy. Эту функцию sum () можно использовать для подсчета количества пикселей на основе требуемых критериев.
Теперь нам нужно немного узнать о пиксельных узорах. Как мы знаем, каждый пиксель в цветном изображении находится в диапазоне от [0-255] включительно, значение пикселя для черного цвета равно 0, а для белого цвета — 255. Это дает нам определенное фиксированное условие дифференциации для черные и белые пиксели соответственно от других цветных пикселей.
Это условие можно записать в NumPy как:
number_of_white_pix = np.sum(img == 255) # extracting only white pixels
number_of_black_pix = np.sum(img == 0) # extracting only black pixels
В первой строке говорится, что нужно извлечь и подсчитать все пиксели из объекта изображения cv2 «img», чей значение пикселя 255, т.е. белые пиксели. Точно так же во второй строке говорится, что нужно извлечь и подсчитать все пиксели из объекта изображения cv2 «img» , значение пикселя которого равно 0, то есть черные пиксели.
Условие внутри sum () извлекает из изображения только те пиксели, которые следуют этому условию, и присваивает им значение True (1), а остальным пикселям присваивается значение False (0). Таким образом, сумма всех Истинных (1) дает нам количество тех пикселей, которые удовлетворяют данному условию в скобках.
Код: реализация Python для подсчета количества черных и белых пикселей в изображении с использованием OpenCV