Golang 画像処理: 画像の細部をぼかし強調する方法
はじめに:
日常の画像処理では、ぼかしと細部の強調は一般的な操作です。画像が鮮明になったり、柔らかくなったりします。 Golang では、関連ライブラリを使用してこれらの関数を実装することもできます。この記事では、Golang を使用して画像の細部をぼかしたり強調したりする方法と、対応するコード例を紹介します。
1. ぼかし処理
写真のぼかし処理は写真を柔らかくすることができ、写真に特定の効果を追加したり、プライバシーを保護するためによく使用されます。 Golang では、サードパーティ ライブラリ github.com/disintegration/gift
を使用して難読化を実装できます。
import ( "github.com/disintegration/gift" "image/jpeg" "os" )
// 打开图片文件 file, _ := os.Open("input.jpg") defer file.Close() // 解码图片文件 img, _ := jpeg.Decode(file) // 创建gift对象并应用高斯模糊滤镜 g := gift.New(gift.GaussianBlur(5)) blurred := image.NewRGBA(g.Bounds(img.Bounds())) g.Draw(blurred, img) // 将模糊后的图片保存到文件 outfile, _ := os.Create("output_blurred.jpg") defer outfile.Close() jpeg.Encode(outfile, blurred, nil)
関数を通じて画像ファイルを Golang の組み込み画像形式にデコードします。次に、gift.New
関数を使用してギフト オブジェクトを作成し、GaussianBlur
ガウスぼかしフィルターを適用します。最後に、jpeg.Encode
関数を使用して、ぼやけた画像をファイルに保存します。 2. ディテール強調処理
github.com/disintegration/gift
ライブラリを使用して詳細拡張処理を実現することもできます。
import ( "github.com/disintegration/gift" "image/jpeg" "os" )
// 打开图片文件 file, _ := os.Open("input.jpg") defer file.Close() // 解码图片文件 img, _ := jpeg.Decode(file) // 创建gift对象并应用锐化滤镜 g := gift.New(gift.UnsharpMask(1, 1, 0)) enhanced := image.NewRGBA(g.Bounds(img.Bounds())) g.Draw(enhanced, img) // 将细节增强后的图片保存到文件 outfile, _ := os.Create("output_enhanced.jpg") defer outfile.Close() jpeg.Encode(outfile, enhanced, nil)
関数を使用して画像ファイルを Golang の組み込み画像形式にデコードします。次に、gift.New
関数を使用してギフト オブジェクトを作成し、UnsharpMask
シャープ化フィルターを適用します。最後に、jpeg.Encode
関数を使用して、詳細な拡張画像をファイルに保存します。 概要:
github.com/disintegration/gift
を使用すると、これらの機能を簡単に実装できます。この記事が Golang の画像処理に興味のある読者に役立つことを願っています。
以上がGolang 画像処理: 画像の細部をぼかして強調する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。