【发布时间】:2016-10-13 06:11:02
【问题描述】:
假设,我们有一个表示为二维整数数组的位图图像,
int [,] image2D;,其 FFT 为 Complex[,] fftImage2D;
假设,我们有一个表示为 2D 整数数组的内核,
int [,] kernel2D;,其 FFT 为 Complex[,] fftKernel2D;
我们知道,image2D 和kernel2D 的卷积(在空间域中)是,
int Rows = image2D.GetLength(0);
int Cols = image2D.GetLength(1);
for(int i=0 ; i<Rows ; i++)
{
for(int j=0 ; j<Cols ; j++)
{
//sweep the kernel2D across image2D
//...........................
}
}
以下链接都是关于空间域卷积的:
http://www.codeproject.com/Articles/2008/Image-Processing-for-Dummies-with-C-and-GDI-Part http://www.gutgames.com/post/Matrix-Convolution-Filters-in-C.aspx https://softwarebydefault.com/2013/05/01/image-convolution-filters/
频域卷积是fftImage2D和fftKernel2D之间的乘积。
我该如何做这个乘法?
如何将两个不同维度的Complex [,] 类型的二维数组相乘?
【问题讨论】:
标签: c#-4.0 image-processing fft