的图像与另一图像
回答
当然,我正在使用Imagemagick的命令行,但也有PHP绑定可用。 ImageMagick的是安装在大多数Linux distors以及适用于Windows和OS X.
的命令是这样的:
convert base.gif wallpaper.png -fx "u.r<0.1 && u.g<0.1 &&u.b<0.1? v : u" out.png
使用基本映像,并从另一个问题,我回答了一些墙纸。
基本上,-fx
运算符允许您自己处理。所以,我说如果原始图像的红色通道小于10%(即非常暗),绿色和蓝色,则用第二张图像(壁纸)中的相应像素替换该像素。 te第一图像的像素被称为u
,而第二图像(壁纸)的像素被称为v
。所以u.r
指的是第一个图像像素的红色成分。
你可以得到一个小票友,避免异常和孤独像素像在冰箱的门,在地毯上后墙的左下角。在这里,我将第三幅图像引入处理中的原始副本,但是我将其阈值和中值滤波器设置为阈值以减少异常值。该命令的第一行对应于基本图像,第二行指向已过滤的基本图像,第三行指向壁纸。我现在将基本图像的像素称为u[0]
,将过滤后的基本图像的像素表示为u[1]
,将壁纸的像素表示为u[2]
。
convert base.gif \
\(base.gif -depth 8 -threshold 1 -median 3x3 \) \
wallpaper.png \
-fx "u[1].r==0.0 ? u[2]:u[0]" \
out.png
您可能会发现-fx
操作慢,如果你有大量的图片做的,所以你可以继续这样吧。首先通过阈值和中值滤波来去除异常值,从而制作出黑色区域的好蒙版。
convert base.gif -depth 8 -threshold 1 -median 3x3 -negate mask.png
现在采取的墙纸和掩盖其不透明度与遮罩,然后复合结果在基础图像:
convert wallpaper.png \
mask.png \
-compose copyopacity -composite \
base.gif \
-compose dstover -composite \
result.png
嘿,感谢这个答案,但你可以帮助我的PHP转换?我使用以下代码 exec('C:/ Program Files/ImageMagick-6.9.0-Q16/convert Naamloos-1.gif naamloos.jpg -fx“ur <0.1 && ug <0.1 && u.b <0.1?v :u“out.png'); 但它不会工作 – Keith666 2015-02-25 12:01:23
什么是错误信息?你可以让它在命令提示符下工作吗? – 2015-02-25 12:03:45
GET http://localhost/Image/out.png 404(Not Found) – Keith666 2015-02-25 12:04:43
- 1. 另一图像
- 2. 改变图像到另一个图像
- 3. 如何使hr图像与另一图像对齐HTML CSS?
- 4. 图像在MATLAB中与另一个图像混排
- 5. 从另一个图像中减去另一个图像
- 6. 将一个图像放在android中的另一个图像上
- 7. Android - 从一个图像到另一个图像的imageview
- 8. 如何从另一幅图像的一部分创建图像?
- 9. iphone图像移动像另一个图像
- 10. ImageButton在另一个图像
- 11. 加载另一个图像
- 12. 在另一个图像
- 13. 将按钮的背景图像与WPF中的另一个图像比较
- 14. 更小的div中的另一个图像上的图像
- 15. Android:如何在另一个图像视图中嵌入图像?
- 16. Z索引图像查看另一个图像视图(安卓)
- 17. 如何将图像与可可中另一幅图像的alpha相乘?
- 18. 如何裁剪和缩放与另一个图像相关的图像?
- 19. 如何将一幅图像叠加到另一幅图像上?
- 20. 在另一个图像下旋转一个图像
- 21. 如何显示一个图像查看另一个图像?
- 22. 将UIButton从一个图像动画到另一个图像
- 23. Android-用另一个图像替换一个图像
- 24. 一个图像与两个hrefs控制的图像地图
- 25. 如何在鼠标上改变另一图像的图像
- 26. 用服务器中的另一个图像替换图像
- 27. 将鼠标悬停在图像变化的另一个图像
- 28. 如何用ActionScript 3.0中的另一个图像遮罩图像
- 29. 提取图像src并使其成为另一图像的src
- 30. 图像出现在另一张图像的上方/上方?
请在你的问题更具体。 – razong 2015-02-24 13:49:24