我正在使用直接卷积算法来计算此图像之间的卷积:
这个内核:
我正在使用astropy中的实现进行直接卷积。
这将导致以下卷积,将所有设置(包括边界处理)保留为默认值,即 astropy.convolution.convolve(image,kernel):
这个卷积有一些令人费解的伪影。特别是,在距边缘约 50 个像素的偏移处有一个“正方形”图案。在我看来,这是由于内核的范围所致;尽管内核的正式大小为 249x249,但大多数信息显然包含在大约 100 像素的半径内——这意味着当内核应用于边缘时,我们可能会遇到麻烦。
这让我想到了我的问题:
- 这个假设是否正确——它确实是一个边缘问题?
- 我将如何解决这个问题?我不知道如何证明使用不同的边缘处理(零填充、插值、换行......)我确信不同的情况需要不同的解决方案,但我不确定如何决定这个......
- 只是...试图了解使用直接算法和 FFT 卷积之间的区别。如果内核和图像同样大,则 FT 卷积不需要零填充,不会出现边缘效应。对于直接方法,您会不经意间进行一些边缘处理……那么结果是否相等?因为原则上只有他们的表现应该不同,对吧?