Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。5,713件1Pythonでconvolve2dを使う下記のプログラムをかきました。35]]このようになりました。除くすべての点における近傍8ピクセルとフィルタの要素をそれぞれ掛けて足してその結果を新しい行列上のフィルタの中心座標にセットするようなので行列が1行下がると考えられましたが、結果を見ると上がっているように見えます。0]]このようになります。これはどちらが正しいのでしょうか。票3リンク先と同じ計算をするにはcross-correlateで計算します。期待通り(?)一つ下がっています。30]]ConvolutionについてConvolutionは電気信号にフィルターを適用した時の波形を求めるのによく使われるそうです(大学の授業以来なので分かったようなことは書けませんが)。画像に対するフィルターは縦横に拡張したものと同等です。信号gに対してフィルターfを適用するとき、過去の信号をフィルターした結果と、より最近の信号をフィルターした結果が重なることから、出力yは次のようになります。要するに過去の積み重ねで、scipyもこの定義に従っています。Cross-Correlation(相互相関関数)はtauの符号が逆さまになっています。コンボユーションではフィルターを逆方向から当てていて、Cross-Correlationでは順方向に当てていることになり、それがシフトした方向の違いの理由でした。参考までにscipyを使わないコンボリューションの実装との比較を示します。パディングの代わりに周囲は無限の0の信号とフィルターになっています。scipyではfullモードが一番近いです。(離散の定義sum(a[m]*v[n-m])が載っている。個の銅バッジまったく別の計算なんですね。3:58上下にシフトした理由を訂正しました。相互相関関数は広い意味で畳み込みの一種なので、畳み込みと呼ばれている例も多いようです。フィルターが左右対称の場合は順方向に当てても逆方向に当てても同じ結果になりますね。y)のように拡張してj,kで二重積分します。y)))を求めることになります。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。公開5周年をお祝いしましょう!🌸コメントで回答する理由を教えてください関連する質問0pythonでwavファイルを読み込みたいです。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。