В худшем случае вы можете перебрать все пиксели изображения и сделать подсчет. Не уверен, что вы используете в программировании, но я использую Python с Numpy, что-то похожее на это. Где pb - это gtk pixbuf с моим изображением.
def pull_color_out(self, pb, *args):
counter = 0
dat = pb.get_pixels_array().copy()
for y in range(0,pb.get_width()):
for x in range(0,pb.get_height()):
p = dat[x][y]
#counts pure red pixels
if p[1] = 255 and p[2] = 0 and p[3] = 0:
counter += 1
return counter
Кроме этого, я обычно использовал бы гистограмму и получал данные, которые мне нужны. В основном, это не будет вашим самым быстрым вариантом, особенно для видео, но если у вас есть время или всего несколько кадров, то взломайте: P