在c中用什么方程实现gimp的输入电平函数?

时间:2018-03-22 15:50:36

标签: gimp

我想用c语言实现gimp的level函数。 用什么方程来实现gimp的输入级函数?

我只是认为原始图像的值范围在0到255之间。 但如果我从0~255调整输入电平0~206。那我可以这样做吗?

调整后的像素=输入像素/ 255 * 206?

但我认为这没有意义,因为输出范围比以前更暗。在我调整输入电平之前,输出图像如何变得更亮?

enter image description here

1 个答案:

答案 0 :(得分:1)

易于实验。使用256px宽的画布创建图像。在它上面创建一个黑到白色的RGB渐变。通过指针对话框(Windows>Dockable dialog>Pointer),可以轻松检查具有水平坐标x的像素是否也具有R=G=B=x(具有微小变化)。

现在应用“级别”工具。如果将白点设置为192(255 * 3/4),则可以检查x处的像素现在是否为R=G=B=(x*4)/3(这表明该函数是线性的)。在“级别”工具中,您还可以点击Edit these settings at Curves进入“曲线”工具。你会看到相应的曲线实际上是一条直线。

PS:中间手柄是" gamma"。在实验上,你把它放在输入值将是黑点和白点的平均值的地方。