我想要合并两个图像,其中一个是图案图像,另一个是彩色蒙版。
我的问题是我得到的颜色与我想要的颜色不符。
这是我的"模式图像" $图像:
然后我用
$image->compositeImage($ribbon, Imagick::COMPOSITE_COLORBURN, 0, 0);
将其与“颜色”相结合。图像
我期待输出类似于:
但我得到的是:
较浅和较暗的区域来自图案图像,但通常这种颜色与我预期的不同。我还尝试了其他所有选项,包括Imagick::COMPOSITE_HARDLIGHT
,Imagick::COMPOSITE_OVERLAY
等。
我在这里想念什么?也许我需要先为$ image做一些准备?或者使用不同的方法将图像合并在一起?
答案 0 :(得分:1)
抱歉,我没有很好地编写Imagick代码。但您可以在Imagemagick(unix语法)中尝试以下操作。首先,我制作图像,使白色变得透明。然后我修剪了图案图像的白色并将其平铺。然后我提取图像的alpha通道。然后我使用所有3个图像进行组合乘法,其中alpha通道用作蒙版。
from operator import add
text = ['1 2 3 4 1 23 5 5 43 54']
textFile = sc.parallelize(text)
counts = textFile.flatMap(lambda x: x.split(' '))\
.filter(lambda x: int(x) <= 5)\
.map(lambda x: (x, 1))\
.reduceByKey(add)
output = counts.collect()
for (word, count) in output:
print("%s: %i" % (word, count))
4: 1
3: 1
1: 2
5: 2
2: 1
或者,分别执行每个步骤并保存结果,这可能更容易转换为Imagick,您可以这样做:
convert \( image.png -alpha off -colorspace gray \
-fuzz 2% -transparent white \) \
\( pattern.png -fuzz 20% -trim +repage -write mpr:pattern \
+delete -size 200x152 tile:mpr:pattern \) \
\( -clone 0 -alpha extract \) \
-alpha off -compose multiply -composite result.png