【发布时间】:2017-08-27 04:18:24
【问题描述】:
是否可以编写一个 5x5 的内核来将有限的颜色范围处理成全范围?
这是我的示例双色调内核,我不知道要使用什么值以及在哪里实现这种颜色扩展:
灰度
{ 0.3, 0.3, 0.3, 0.0, 0.0 }
{ 0.6, 0.6, 0.6, 0.0, 0.0 }
{ 0.1, 0.1, 0.1, 0.0, 0.0 }
{ 0.0, 0.0, 0.0, 1.0, 0.0 }
{ 0.0, 0.0, 0.0, 0.0, 1.0 }
我想要 RGB 颜色扩展 RGB 16-235 => 0-255
但是我需要内核矩阵,因为我没有处理图像,而是将矩阵传递给 Windows API 函数(未记录:SetMagnificationDesktopColorEffect)。
我无法对像素进行简单的减法/除法/乘法运算。我没有。
【问题讨论】:
-
我没有办法测试,但我认为你应该把
16或者-16,作为偏移量放在第 4 行的前 3 个元素中,以及 255/ (235-16) 中的前 3 个对角元素作为乘数。 graficaobscura.com/matrix/index.html 和 docs.rainmeter.net/tips/colormatrix-guide -
255/(235-16) 而不是前三个对角线 1,使图像变亮,但是第四行中的 -16/16(或任何与 1.0 相差很大的任何东西)会完全破坏图像,使其几乎是白色或黑色。
标签: image image-processing filtering rgb