php Xiaobian Yuzai 氏は、ガウスぼかしは画像をぼかすことができる一般的な画像処理テクノロジであり、写真を美しくしたり特殊効果を実現したりするためによく使用されると指摘しました。ただし、ガウスぼかしアルゴリズムが正しく実装されていない場合、奇妙な出力が生成される可能性があります。これには、画像の歪み、ぼやけたエッジ、色のずれなどの問題が含まれる場合があります。したがって、ガウス ブラー テクノロジを使用する場合は、期待される出力効果を確保するためにアルゴリズムの正しい実装に注意を払う必要があります。
golangのimage.image
オブジェクトにガウスブラーを実装しようとしています。次の画像の場合:
生成された出力画像は次のとおりです。
ご覧のとおり、出力イメージには、エッジを処理しないという現在の実装の決定に対応する未処理の境界がいくつか含まれています。これは、何らかの方法で計算を台無しにした可能性があると考えさせます (はい、この部分はこの実装は機能するため、画像ピクセルを反復処理するときに off-by-one エラーを破棄できます)。このコードを何度も確認しましたが、エラーが見つかりません。私の問題を解決するのに役立つ可能性がある実装に関して、いくつかの助けと考慮をいただければ幸いです。コードは以下に含まれています。編集や説明が必要な場合は、お知らせください。
リーリー ######編集######rgbaimg
sum
変数をすでに使用しているため、efactor
にも注釈を付けました。
64 ビット rgba 構造を使用するように
.set メソッドを変更しました
これらの黒い境界線は修正するのが簡単です。すでに修正中です。これはもはや問題の一部ではありません。 リーリー ######編集:### さらに、
image.atを返しますが、
func (color.rgba) rgba は 0 から 0xffff までの範囲 を返します。ただし、color.rgba
コンストラクターでは、値が 0 ~ 255 の範囲内であることが想定されます。結果を書き込むときは、color.rgba64
を使用するとよいでしょう:
リーリー
以上がガウス ブラーの実装により奇妙な出力が生成されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。