전경에 검정색 배경과 흰색 요소가 있는 이미지가 있습니다. 이미지가 매끄러워졌기 때문에 중앙에 엄밀히 말하면 검은색이나 흰색이 아닌 일부 픽셀이 있습니다. 배경을 투명하게 하고 싶습니다. imagemagick을 사용하여 이 작업을 수행하는 방법에 대한 몇 가지 링크를 찾았지만 모두 엄격하게 하나의 색상을 대체합니다(예: "#000000FF"를 전체 알파 값 "#00000000"으로 대체). 블렌딩 효과를 유지하고 싶습니다. 따라서 회색 픽셀 "#777777FF"가 있으면 "#FFFFFF77"과 같은 색상이나 의미가 있는 색상으로 변환됩니다.
이 작업을 수행하는 방법을 아는 사람이 있나요?
답변1
이 기사에서는 이를 수행하는 방법을 매우 잘 설명합니다.
http://www.imagemagick.org/Usage/masking/#alpha
나는 내 블로그에 이에 관한 작은 기사를 썼습니다.
http://mostlycoincidence.blogspot.se/2012/12/imagemagick-making-glyphs-transparent.html
기본적으로 여러분이 해야 할 일은 마스크를 만든 다음 마스크를 이미지에 적용하는 것뿐입니다. 이 작업은 두 단계로 수행할 수 있습니다.
$ convert image.png -colorspace HSB -separate -negate image_mask.png
$ convert image.png -alpha Off \
> image_mask.png -compose CopyOpacity -composite \
> PNG32:image_alpha.png
이렇게 하면 흰색이 투명한 색상이 됩니다. 투명도 색상을 검은색으로 변경하려면 -negate
플래그를 제거하세요.