对于数据库应用程序,我试图根据色标确定照片部分的平均阴影。
作为一个新手,我发现这很难解释,所以我创建了一个简单的图表,准确地显示了我想要实现的目标。
http://www.knockyoursocksoff.com/shade/
如果有人有时间给我一些想法,我将不胜感激。
最好的祝愿,
沃伦。
如果您使用彩色照片,您应该首先将所选区域从 RBG(红、绿、蓝)转换为 HSL/HSV(文章)。
HSL 代表“色相、饱和度、亮度”。1你感兴趣的数字是亮度。
在最一般的术语中,亮度是指您如何感知彩色表面的亮度。很难使用红色/绿色/蓝色分量来判断一块红色是否比一块蓝色更亮/更暗。转换为 HSL 可以解决这个问题。
完成转换后,您可以简单地平均所选区域的亮度值。
关于亮度值的快速说明:从技术上讲,您不能简单地平均亮度值,因为对亮度的感知不是线性的(文章)。但是,除非你正在编写一个深度科学的应用程序,否则简单地平均亮度会给你一个“足够准确”的值。
1 在 Adobe Photoshop 中,他们称之为 HSB(色相、饱和度、亮度)
我想我将从平均像素值开始:
for x = start_x to end_x
for y = stary_y to end_y
total += getPixel(x,y)
shade = total / (xlen*ylen)
如果你用彩色做它会更复杂。