的圖像與另一圖像
回答
當然,我正在使用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. facebook圖像與另一圖像合併
- 2. 另一圖像
- 3. 在css中覆蓋一個圖像與另一個圖像
- 4. 圖像與另一幅圖像疊加在一起
- 5. 需要幫助合併一個圖像與另一個圖像
- 6. 圖像在另一個圖像
- 7. 改變圖像到另一個圖像
- 8. 將圖像移到另一個圖像
- 9. 將另一幅圖像放在另一幅圖像的前面
- 10. 圖像在MATLAB中與另一個圖像混排
- 11. 按鈕與圖像不疊加另一個圖像
- 12. 如何使hr圖像與另一圖像對齊HTML CSS?
- 13. 從另一個圖像中減去另一個圖像
- 14. 圖像與位圖圖像與位圖
- 15. Ios圖像與一個圖像碰撞
- 16. 在android中的另一個圖像視圖中放置圖像
- 17. 將一個圖像放在android中的另一個圖像上
- 18. 如何從另一幅圖像的一部分創建圖像?
- 19. Android - 從一個圖像到另一個圖像的imageview
- 20. iphone圖像移動像另一個圖像
- 21. 懸停在圖像上,更改另一個圖像 - 多個第一圖像
- 22. 加載另一個圖像
- 23. 使圖像重疊另一
- 24. 在另一個圖像
- 25. ImageButton在另一個圖像
- 26. 將按鈕的背景圖像與WPF中的另一個圖像比較
- 27. 更小的div中的另一個圖像上的圖像
- 28. PHP圖像 - 使用PHP創建的另一個圖像上添加圖像
- 29. 試圖保持圖像包含在另一個圖像
- 30. Android:如何在另一個圖像視圖中嵌入圖像?
請在你的問題更具體。 – razong 2015-02-24 13:49:24