如果我们将色调偏移2 * pi/3,那么R,G,B,直方图会发生什么变化?如果我们将色相移动2 * pi/3,那么R,G,B,直方图会发生什么变化?
我该如何测试?我可以访问photoshop,那么有没有办法测试这个并找到答案?
如果我们将色调偏移2 * pi/3,那么R,G,B,直方图会发生什么变化?如果我们将色相移动2 * pi/3,那么R,G,B,直方图会发生什么变化?
我该如何测试?我可以访问photoshop,那么有没有办法测试这个并找到答案?
我不认为这有一个通用的答案,因为结果取决于不仅在R,G,B直方图上呈现的图像颜色。您需要:
我不使用photoshop,但我认为#1,#2,#4,#5应该在那里。 (在一些操纵brithness,gama等的过滤器中),但很难说如果添加到色相将被限制角度限制,或者它将把它作为周期值处理。在第一种情况下,你需要纠正的结果:
加A.色相+ = pi/3和** B.hue- = 2 * pi/3
A
保持未夹紧的颜色,B
被夹紧的颜色A
转移到正确的色调位置。
所述的重新着色所有色调像素== PI2与一些指定的颜色
的pi2
应该是工具夹持上述PI2色调的值,因此它可以是零,或PI2一步小于PI2 。这将允许稍后忽略钳位值。
合并A, B直方图
只需将图形值一起添加即可。
现在你可以比较的直方图,以评估对一些样本图像的变化。
反正你可以做到这一切在任何编程语言。例如最需要的操作的存在于大多数图像处理和计算机视觉库等的OpenCV和增加色调仅有2嵌套for
环加成和单if
声明像:
for (y=0;y<ys;y++)
for (x=0;x<xs;x++)
{
pixel[y][x].h+=pi2/3.0;
if (pixel[y][x].h>=pi2)
pixel[y][x].h-=pi2;
}
粗的
最HSV像素格式我以前不使用浮动值,以色相可以通过8位无符号整数来表示,例如在这种情况下,代码是这样:
for (y=0;y<ys;y++)
for (x=0;x<xs;x++)
pixel[y][x].h=(pixel[y][x].h+(256/3))&255;
如果需要implem耳鼻喉科的RGB/HSV转换看看这里:
我认为这可能吸引你:
从数学看它的视图2×π/ 3与PI点= 3.14你有2×PI这是的圆的“范围”。 由3 Devided这意味着你有一个圆的第三或简单地120℃