NumPy 中的 SVG 像素合成操作

问题描述

我正在使用 GIMP 图层操作,它 (AFAICT) 映射回 SVG 合成操作 (https://gitlab.gnome.org/GNOME/gegl/-/blob/master/operations/generated/src.c,https://www.w3.org/TR/SVGCompositing)

我正在处理由 OpenCV 加载并使用 NumPy 处理的图像。我最感兴趣的是实现 GIMP(SVG?)“覆盖”操作。是否有任何图书馆已经这样做了?如果没有库,如何将 SVG 规范转换为 NumPy?叠加合成定义为:

if 2 × Dc <= 1
  f(Sc,Dc) = 2 × Sc × Dc
otherwise
  f(Sc,Dc) = 1 - 2 × (1 - Dc) × (1 - Sc)
X        = 1
Y        = 1
Z        = 1

if 2 × Dca <= Da
  Dca' = 2 × Sca × Dca + Sca × (1 - Da) + Dca × (1 - Sa)
otherwise
  Dca' = Sa × Da - 2 × (Da - Dca) × (Sa - Sca) + Sca × (1 - Da) + Dca × (1 - Sa)
       = Sca × (1 + Da) + Dca × (1 + Sa) - 2 × Dca × Sca - Da × Sa

Da' = Sa + Da - Sa × Da

诚然,我在解码 SVG 符号时遇到了麻烦。 (否则为什么在第二个中有两个 = 语句?)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)