我有以下代码从文件加载位图,这是一个256x256像素的灰度图像:
a = imread('E:\images\pic1.bmp');
a = double(a(:, :, 1));
figure;
imagesc(abs(a));
colormap(gray);
axis off;
axis equal;
title('Input image');
rpm1 = exp(i * 2 * pi * rand(256));
theta1 = 2 * pi * rand(256);
Iprime1 = fft2((sqrt(a) .* rpm1));
A = abs(Iprime1);
phi1 = angle(Iprime1);
W = A / 2;
Q = cos(phi1 - theta1);
T = W ./ Q
当我在Matlab中检查输出T
时,它是一个包含0.0000到0.0009范围内的值的矩阵。
但是,当我单独显示W
和Q
并为单个元素手动计算T
时,它会显示为非零值。
我错过了什么?