画像処理はカリキュラムの一部であるため、畳み込みを研究しています。理論と公式は理解していますが、その実装については混乱しています。
式は次のとおりです。
私が理解していること
畳み込みカーネルは水平方向と垂直方向の両方で反転され、カーネル内の値に対応するピクセル値が乗算され、結果が合計され、「行x列」で除算されて平均が得られ、最後にこの結果がカーネル位置の中心にあるピクセル。
実装の混乱
コース資料からサンプルの畳み込みプログラムを実行し、入力として3x3畳み込みカーネルを挿入すると、次のようになります。
1行目:(0、1、0)
2行目:(0、0、0)
3行目:(0、0、0)
処理された画像は1ピクセル下にシフトされますが、私はそれが1ピクセル上にシフトすると予想していました。この結果は、計算前に水平または垂直の反転が行われていないことを示しています(相関を行っているかのように)。
プログラムに問題があるのではないかと思ったので、周りを見回してみると、 AdobeFlex3とGimpもこれを行っていることがわかりました。
わかりませんが、気づかなかったことがありますか?
ヘルプやフィードバックに感謝します。