嗨,我是參考這個問題
convert eagle.png -alpha off -fuzz 10% -fill none -draw "matte 0,0 floodfill" \
\( clone -alpha extract -blur 0x2 -level 50x100% \) \
-alpha off -compose copy_opacity -composite \
eagle_transp.png
結果:

Windows 語法將是:
轉換 eagle.png -alpha off -fuzz 10% -fill none -draw "matte 0,0 floodfill" ^ ( clone -alpha extract -blur 0x2 -level 50x100% ) ^ -alpha off -compose copy_opacity -composite ^ eagle_transp。 PNG
如果在 .bat 腳本中,將 % 加倍到 %%
uj5u.com熱心網友回復:
如果你用透明度填充,然后改變
convert phone.png -fuzz 5% -fill none -draw 'color 0,0 floodfill' ObjectOnTransparent.png
到
convert phone.png -fuzz 5% -fill none -draw 'matte 0,0 floodfill' ObjectOnTransparent.png
然后對邊緣進行抗鋸齒,更改
convert phone.png \( ReEdgedAlpha.png -colorspace gray \) -compose copyopacity -composite RemaskedPhone.png
到
convert phone.png \( ReEdgedAlpha.png -colorspace gray -blur 0x2 -level 50x100% \) -compose copyopacity -composite RemaskedPhone.png
uj5u.com熱心網友回復:
要回答有關新影像的問題,該影像有兩個不同之處。首先,透明像素下的背景不是全白的。其次,白色區域不會圍繞影像。所以在 ImageMagick 中,你需要做兩個額外的步驟。
輸入:

您可以通過關閉影像上的 alpha 來查看第一個問題:
magick target-transp.png -alpha off target-transp_alpha_off.png

注意左上角的黑色區域。所以在處理中我們需要把那個黑色區域改成白色。
其次,正如您在上圖中所看到的,白色區域并沒有圍繞影像。所以我們需要用白色邊框填充影像,該邊框的四周都是 1 像素寬。
因此,您可以執行以下兩個程序之一:
洪水填白
magick target-transp.png -background
white -alpha background -alpha off
-bordercolor white -border 1
-fuzz 10% -fill none -draw "alpha 0,0 floodfill"
( clone -alpha extract -blur 0x2 -level 50x100% )
-alpha off -compose copy_opacity -composite
-shave 1x1
target-transp_proc1.png

或使所有白色像素透明,包括一些字母內部,例如“a”和“e”的內部
magick target-transp.png -background
white -alpha background -alpha off
-bordercolor white -border 1
-fuzz 10% -transparent white
( clone -alpha extract -blur 0x2 -level 50x100% )
-alpha off -compose copy_opacity -composite
-shave 1x1
target-transp_proc2.png

您需要下載生成的影像以查看差異。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/355041.html
上一篇:從影像中提取坐標到numpy
下一篇:如何根據文本自動旋轉影像?
