Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NumPy中的SVG像素合成操作_Numpy_Gimp_Array Broadcasting_Svg Filters - Fatal编程技术网

NumPy中的SVG像素合成操作

NumPy中的SVG像素合成操作,numpy,gimp,array-broadcasting,svg-filters,Numpy,Gimp,Array Broadcasting,Svg Filters,我正在使用GIMP层操作,它(AFAICT)映射回SVG合成操作(,) 我正在使用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

我正在使用GIMP层操作,它(AFAICT)映射回SVG合成操作(,)

我正在使用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

如果2×Dc我听不懂您上面的
代码,甚至不认识您的语言,那么我们可以用更简单的术语讨论一下您想做什么吗?您有一个Numpy数组,由OpenCV以某种方式创建/修改,它表示光栅化图像,是吗?现在,您想使用其他包/工具/库创建SVG覆盖,并将其混合到Numpy数组中?如果是这样的话,您能给出一个示例Numpy数组和一个SVG,并说明覆盖的结果应该是什么样子的吗?此外,您需要很多混合模式,还是只需要“覆盖”?您需要做1)光栅化SVG(转换为位图图像)2)将图像转换为Numpy,3)在两个图像之间应用覆盖op/Numpy阵列这与SVG无关,除了使用“覆盖”的GIMP之外SVG规范中定义的操作。GIMP使用此操作对图像进行像素混合。一、 在python/numpy中,有两个PNG图像,只想以与GIMP在图层混合选项中相同的方式覆盖它们。好的,所以请共享这两个输入图像和覆盖的预期结果。另外,请回答我上面关于您需要多少/哪些混合模式的问题。非常感谢。