ホームページ  >  記事  >  バックエンド開発  >  Golang 画像処理: 画像の細部をぼかして強調する方法

Golang 画像処理: 画像の細部をぼかして強調する方法

PHPz
PHPzオリジナル
2023-08-20 21:17:27937ブラウズ

Golang 画像処理: 画像の細部をぼかして強調する方法

Golang 画像処理: 画像の細部をぼかし強調する方法

はじめに:
日常の画像処理では、ぼかしと細部の強調は一般的な操作です。画像が鮮明になったり、柔らかくなったりします。 Golang では、関連ライブラリを使用してこれらの関数を実装することもできます。この記事では、Golang を使用して画像の細部をぼかしたり強調したりする方法と、対応するコード例を紹介します。

1. ぼかし処理
写真のぼかし処理は写真を柔らかくすることができ、写真に特定の効果を追加したり、プライバシーを保護するためによく使用されます。 Golang では、サードパーティ ライブラリ github.com/disintegration/gift を使用して難読化を実装できます。

  1. #Go プロジェクトに関連パッケージをインポートします

    import (
     "github.com/disintegration/gift"
     "image/jpeg"
     "os"
    )

  2. #画像を読んでぼかします
  3. // 打开图片文件
    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)

  4. 上記のコード例では、まず
jpeg.Decode

関数を通じて画像ファイルを Golang の組み込み画像形式にデコードします。次に、gift.New 関数を使用してギフト オブジェクトを作成し、GaussianBlur ガウスぼかしフィルターを適用します。最後に、jpeg.Encode 関数を使用して、ぼやけた画像をファイルに保存します。 2. ディテール強調処理

ディテール強調処理により、画像の細部がより鮮明に、より目立つようになり、視聴効果が向上します。 Golang では、

github.com/disintegration/gift
ライブラリを使用して詳細拡張処理を実現することもできます。

    Go プロジェクトに関連パッケージをインポートします
  1. import (
     "github.com/disintegration/gift"
     "image/jpeg"
     "os"
    )

  2. 画像を読み取り、詳細拡張処理を実行します
  3. // 打开图片文件
    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)

  4. 上記のコード例では、最初に
jpeg.Decode

関数を使用して画像ファイルを Golang の組み込み画像形式にデコードします。次に、gift.New 関数を使用してギフト オブジェクトを作成し、UnsharpMask シャープ化フィルターを適用します。最後に、jpeg.Encode 関数を使用して、詳細な拡張画像をファイルに保存します。 概要:

この記事では、Golang を使用して画像をぼかしたり細部を強調したりする方法を学びました。サードパーティのライブラリ

github.com/disintegration/gift
を使用すると、これらの機能を簡単に実装できます。この記事が Golang の画像処理に興味のある読者に役立つことを願っています。

以上がGolang 画像処理: 画像の細部をぼかして強調する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。