Matlab 为什么'conv2()'的输出被'sz^2'除?
下面的例行程序从图像中减去平均值,使其更清晰 im是一个图像矩阵。 sz是一个整数。 此例程的工作原理: 图像首先转换为双精度图像。 sz的一半用作焊盘大小值,这意味着此例程将对图像应用卷积。 m是图像的高度,n是图像的宽度,o是图像中的通道数。 大小为szxsz的2d数组初始化为1s。 声明了一个for循环,它在三次迭代中工作,因为此例程将在每个通道上应用卷积运算。 im:,:,q表示过滤器已应用到位。 “相同”表示卷积运算返回卷积的中心部分,其大小与im相同。即,它正在裁剪卷积输出。 为什么conv2的输出除以sz^2 注意Matlab 为什么'conv2()'的输出被'sz^2'除?,matlab,image-processing,octave,Matlab,Image Processing,Octave,下面的例行程序从图像中减去平均值,使其更清晰 im是一个图像矩阵。 sz是一个整数。 此例程的工作原理: 图像首先转换为双精度图像。 sz的一半用作焊盘大小值,这意味着此例程将对图像应用卷积。 m是图像的高度,n是图像的宽度,o是图像中的通道数。 大小为szxsz的2d数组初始化为1s。 声明了一个for循环,它在三次迭代中工作,因为此例程将在每个通道上应用卷积运算。 im:,:,q表示过滤器已应用到位。 “相同”表示卷积运算返回卷积的中心部分,其大小与im相同。即,它正在裁剪卷积输出。 为什
conv2(double(im(:,:,q)),mask,'same')./sz^2
与
conv2(double(im(:,:,q)),mask./sz^2,'same')
这是因为卷积和乘法是相互转换的
因此,卷积运算计算局部平均值。如果没有除法,它将是一个局部和。pad是几乎所有函数的整数,但在最后一行之后是一个三维矩阵clear@ChanakaAmarasinghe,哪一部分?
conv2(double(im(:,:,q)),mask./sz^2,'same')