matlab二进制数组必须,二进制数组操作的数组维度必须匹配。

%第一步:抽样

image0 = imread('D:\桌面\666.jpg');

%转为灰度图(若已为灰度图则忽略)

%image0 = rgb2gray(image0);

image0 = im2double(image0);

[M,N] = size(image0);

%输出原图

figure;

subplot(2,2,1);

imshow(image0);

title('原图')

%加入随机位相信息

PI = 3.14159;

image1 = image0;

phase = 2i*PI*rand(M,N);

image1 = image1.*exp(phase);

%输出随机位相图

subplot(2,2,2);

imshow(image1);

title('随机位相图');

%第二步:计算编码

%第一次逆傅里叶变换

image2 = ifft2(ifftshift(image1));

%迭代过程

for t=1:1:1000

%迭代判据

imgangle = angle(image2);                       %取位相

image = exp(1i*imgangle);

image = fftshift(fft2(image));                  %还原

imgabs = abs(image)/max(max(abs(image)));

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值