吴高锋教授

教授 博士生导师 硕士生导师

出生日期:

电子邮箱:

入职时间:2015-06-26

所在单位:物理学院

学历:博士研究生毕业

办公地点:

性别:男

联系方式:gfwu@nwu.edu.cn

学位:

在职信息:在职

主要任职:

其他任职:

毕业院校:

所属院系:

学科: 光学

当前位置: 中文主页 >> 教师博客

散斑图的对比度及强度自相关计算代码

点击次数:

%本代码(matlab)是根据定义式计算CCD拍摄的一张散斑图的对比度和自相关函数分布(傅立叶变换)

clear all

% 读取图像并转为灰度

ob=imread('/Users/happylife/Desktop/1111.bmp');%读取图片

ob=ob(:,:,1);

img=im2double(ob);

%获取图像尺寸

[M, N] = size(img);

minvale=min(M,N)/2;

% 零填充到(2M-1)x(2N-1)以避免循环卷积效应

Iout=zeros(2*M-1,2*N-1);

Iout(1:M,1:N)=img(1:M,1:N);

% 计算FFT

F = fft2(Iout);

% 计算自相关的频域乘积(点乘共轭)

F_autocorr = F .* conj(F);

% 逆FFT得到自相关函数并取实部

autocorr = real(ifft2(F_autocorr));

% 将原点移到中心

autocorr_shifted = fftshift(autocorr);

% 归一化到[0, 1]以便于可视化

autocorr_normalized = autocorr_shifted / max(autocorr_shifted(:));

autocorr_normalized=autocorr_normalized(M-minvale:M+minvale,N-minvale:N+minvale);

% 显示结果

figure;

imagesc(autocorr_normalized);

axis equal

title('归一化的自相关函数');

colorbar;