RMagickで画像を2値化で切り取って、白背景でぼかすには、以下のコードを実行します。
require 'RMagick'
include Magick
# 画像を2値化して切り取って白背景と合成してからぼかす
images1 = ImageList.new("sample5r.jpg")
images1[0] = images1.threshold(MaxRGB*0.85).negate(true)
images1.alpha = ActivateAlphaChannel
images1[0] = images1.fx("p.r==1?1:0", AlphaChannel)
images2 = ImageList.new("sample5r.jpg")
img = images1.composite(images2, 0, 0, SrcInCompositeOp);
img2 = Image.new(img.columns, img.rows){
self.background_color = "white"
}
img3 = img2.composite(img, CenterGravity, 0, 0, OverCompositeOp);
img4 = img3.blur_channel(0, 2, ChannelType::AllChannels)
img4.write("sample778a.png")
exit
元画像(sample5r.jpg)
出力画像(sample778a.png)
動作環境
ruby1.8.6, rmagick2.7.1
関連項目
ImageMagickで、2値化して画像を切り取って白背景でぼかす (convertコマンドでの同様の処理)
No comments:
Post a Comment