Как рассчитать значение цветного пикселя в каждой строке и столбце - PullRequest
1 голос
/ 11 января 2020

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

Формула enter image description here

, где M представляет размерность матрицы изображения N, представляет общее количество пикселей, а P (i, j) - значение цветового пикселя в i-й строке и j-м столбце

Ответы [ 2 ]

1 голос
/ 12 января 2020

Среднее значение по пиксельным каналам довольно тривиально для вычисления, но не обязательно очень значимо - в зависимости от варианта использования более наглядно найти доминирующие цвета. Этот ответ демонстрирует подход к поиску доминирующих цветов.

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

enter image description here

import cv2
import numpy as np

im = cv2.imread('opencvtest.png')

# Find the average of each channel across the image
mean = [np.mean(im[:,:,i]) for i in range(im.shape[2])]

print(mean)
[132.6709785196566, 92.74899063496903, 81.57176387455432]

Итак, средний цвет найденного кода

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

1 голос
/ 11 января 2020

Вы можете использовать numpy, если вы используете python

import numpy as np
import cv2 

img = cv2.imread('img.png')
# in case of overall mean
np.mean(img)

#in case of channel wise mean
np.mean(img, axis=(0, 1))

Это может быть применено, если ваша матрица имеет прямоугольную angular форму

...