调整GIMP中类似python的颜色曲线 把戏

我正在尝试实现一些python代码,以从图像数据集中分离出某些特定的颜色。我已经将Cr层与YCbCr颜色空间(1-dim np数组)分开,现在我试图在GIMP中应用类似于此的曲线过滤器:

调整GIMP中类似python的颜色曲线
      
    把戏

我对该主题进行了一些研究,发现这里使用了贝塞尔曲线。我试图探索曲线的输出设置,但我听不懂。我希望通过此曲线应用相同的效果,以便在以后的阶段应用阈值化。有一个简单的方法可以做到吗? (我是该领域的初学者)

wr5279 回答:调整GIMP中类似python的颜色曲线 把戏

您想要类似的东西

pdb.gimp_drawable_curves_spline(layer,HISTOGRAM_VALUE,8,[0,0.37477797513321481,0.12890625,0.62344582593250431,0.8828125,1,1])

把戏

您可以让Gimp确定值:

使用GUI并将“曲线”工具应用于示例:

enter image description here

在上图中,请注意顶部的“预设”选择器。每次应用过滤器时,Gimp都会保存曲线,您可以使用选择器进行检索。默认情况下,该曲线是匿名的(仅带有时间戳),但是您也可以为其命名(单击{+按钮)。

这些值保存在Gimp配置文件中的文件中。在Gimp 2.10中,此文件为${Gimp profile}/filters/GimpCurvesConfig.settings。如果您对其进行编辑(您的编辑器可能需要支持长行),您将看到:

# settings

(GimpCurvesConfig "2019-11-08 21:57:15"
    (time 1573246635)
    (linear no)
    (channel value)
    (curve
        (curve-type smooth)
        (points 8 0 0 0.37477797513321481 0.12890625 0.62344582593250431 0.8828125 1 1)
        (point-types 4 smooth smooth smooth smooth)

    [...snip...]

感兴趣的行是以(points ...开头的行。您只需要进行以下转换:

(points 8 0 0 0.37477797513321481 0.12890625 0.62344582593250431 0.8828125 1 1)

进入:

... 8,1]

再难不过了。

注意:

“贝塞尔曲线”一词在这里很偶然。这只是软件使曲线平滑的一种方法,但是您只能设置锚点。重要的是,您要在其自身上定义通道的功能:newChannelValue=f(oldChannelvalue),而不是通过数学公式而是通过绘制函数图来定义f()

本文链接:https://www.f2er.com/3135531.html

大家都在问