Shell 将灰度图像转换为渐进式黑色加透明度?
我有一个灰度图像,我希望从中把所有的灰色像素转换成半透明像素,把白色像素转换成透明像素 如何通过shell处理灰度光栅图像? 输入: 输出(此处通过Gimp生成):Shell 将灰度图像转换为渐进式黑色加透明度?,shell,raster,gdal,imagemagick-convert,Shell,Raster,Gdal,Imagemagick Convert,我有一个灰度图像,我希望从中把所有的灰色像素转换成半透明像素,把白色像素转换成透明像素 如何通过shell处理灰度光栅图像? 输入: 输出(此处通过Gimp生成): 通过GUI的当前Gimp流程: GIMP 2.6>加载着色浮雕图像(..shaded.tif:为灰度) 或者阴影浮雕的屏幕截图(屏幕截图:RGB颜色) 强制它为RGB:Gimp>图像>模式>RGB,单击 删除灰色:颜色>“颜色到alpha”弹出窗口>取消选中“预览”,单击水平颜色矩形>“颜色到alpha颜色选择器”弹出窗口>右
通过GUI的当前Gimp流程:
input.png
:
1a。要使此图像的黑色像素透明并线性保持白色像素不变,请运行以下命令:
convert source.png -alpha copy -fx '#fff' result.png
1b。要使白色像素透明并线性保持黑色,请使用:
convert source.png -alpha copy -channel alpha -negate +channel result.png
手册:
- convert–是ImageMagic命令(几种命令之一)
- source.png–是灰度源图像
- -alpha copy–它将上一个文件的内容复制到alpha通道中
- -通道alpha–它指定以下操作符只应影响alpha通道
- -否定–它反转当前通道(通道alpha)
- +频道–指定以下运算符仅影响相反的频道。对于我们来说,它将焦点从alpha通道切换到颜色通道。(颜色通道最初是默认的)
- -fx'#000'–用黑色像素替换当前频道(对于我们来说,颜色频道)内容,因此最终结果实际上完全取决于alpha频道。如果不包括,生成图像中的所有半透明像素将保留颜色,从#FFF(白色)到#000(黑色)
#DDDDDD
)周围,不透明度约为50%。这可以通过以下方式实现:
convert input.png -fuzz 8% -transparent "#DDDDDD" grey_no.8pc.png
convert grey_no.8pc.png -alpha copy -channel alpha -negate +channel result.grey_no.png
因此,平原避免了无用的#DDDDDD,不透明度:50%
覆盖
另请参见:
你有一些关键词可以推荐。怎么样:@Scony:这似乎是一个很好的发现!经过一段艰难的时间,我终于找到了可靠的答案。我认为您可以使用
-evaluate set 100%
而不是-fx'#fff'
,它的运行速度大约快4倍。