对于图像处理的练习,我必须编写一个程序,将各种效果应用于图像。其中一个效果是灰度,即求RGB值((red+green+blue)/3)的平均值。然而,要对图像进行极化,我需要首先找到每个单独分量的平均值(即所有红色值/红色像素的数量)。然后循环遍历行和列(使用一个用于像素、红值、绿值和蓝值的计数器)作为求平均值的方法是否合适?有没有更有效的方法?
此外,根据平均像素值对像素进行极化。如果平均R为100,平均G为200,平均B为300,并且像素的R 150、G 150和B为100,则极化像素将为255、0和0。我不明白你们之间的关系?如果当前值小于平均值,那么它会被极化到0/大于平均值,极化到255吗?
发布于 2016-10-05 04:25:46
计算图像的平均RGB值:
import numpy as np
# load your image in a variable named `im`, then calculate average RGB value
np.array(im).mean(axis=(0,1))
# It gives a tuple like (71.710743801652896, 103.11570247933884, 64.165289256198349)
你不需要迭代,numpy拥有一切:)
https://stackoverflow.com/questions/29188423
复制相似问题