close all;clear all;clc; %
iterative=300; %设迭代次数为300次吧
imagename='cameraman.tif'; %你想要提取相位的图像名称
phaseimage='phase.png'; %要保存的相位图像名称
figure(1),imshow(imagename);
imagename='cameraman.tif'; %你想要提取相位的图像名称
phaseimage='phase.png'; %要保存的相位图像名称
figure(1),imshow(imagename);
%空域输入图像的幅度(是已知的,也就是清晰的图像,它的灰度就是幅值)和相位图像(待恢复)
known_abs_spatial=imread(imagename); %作为输入图像的幅度,是已知的
%known_abs_spatial =rgb2gray(known_abs_spatial);%注意要用单通道图像做实验,如果你读取的是彩色图像,那就吧这行取消注释变成灰度图像吧
known_abs_spatial=im2double(known_abs_spatial); %将图像灰度映射到0~1
known_abs_spatial=imread(imagename); %作为输入图像的幅度,是已知的
%known_abs_spatial =rgb2gray(known_abs_spatial);%注意要用单通道图像做实验,如果你读取的是彩色图像,那就吧这行取消注释变成灰度图像吧
known_abs_spatial=im2double(known_abs_spatial); %将图像灰度映射到0~1
unknown_phase=known_abs_spatial; %Peppers图像作为输入图像的相位,也即为待恢复的数据,
%要求它和known_abs_spatial大小一致,所以这里直接赋值就好了
unknown_phase=im2double(unknown_phase); %将图像灰度映射到0
%要求它和known_abs_spatial大小一致,所以这里直接赋值就好了
unknown_phase=im2double(unknown_phase); %将图像灰度映射到0