【高质量高效的单像素成像】通过傅里叶频谱采集实现了单像素成像研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

通过傅里叶频谱采集实现了单像素成像研究意味着利用傅里叶变换的原理,将待成像的目标物体通过不同频率的光信号分解成频谱信息,然后利用单个像素的探测器采集这些频谱信息,从而实现对目标物体的成像。这种方法在成像过程中具有高质量和高效率的优势,能够有效地获取目标物体的信息并进行重构。

傅里叶频谱采集是一种通过测量光的傅里叶频谱以实现单像素成像的方法。传统的成像设备使用像素阵列来采集图像,而单像素成像则使用一种不同的方法。

在单像素成像中,光通过一个空间光调制器(Spatial Light Modulator, SLM)进行编码。光通过SLM后,会被一个光学系统(例如透镜)聚焦到一个探测器上。而探测器只有一个单一的像素,它记录光的强度。

为了实现图像的重建,需要采集一系列不同的测量。每个测量都将SLM的编码模式与最终图像进行卷积,然后记录到探测器上。通过多次测量和不同的编码模式,可以获得足够的信息来重建原始图像。

傅里叶频谱采集是一种特殊的编码模式,它采用了傅里叶变换的性质。通过在不同的频率上调制光的相位,可以将图像信息分布在不同的频率上。然后,通过测量每个频率上光的强度来获得图像的傅里叶频谱。借助傅里叶变换的逆变换,可以将傅里叶频谱转换回图像。

使用傅里叶频谱采集的单像素成像方法可以实现高质量和高效率的成像,因为它采用了通过光的频谱来编码图像信息的方法。这意味着可以通过少量的测量来获得完整的图像,从而提高了成像的效率。同时,傅里叶频谱采集还可以减小噪声的影响,提高图像质量。

然而,傅里叶频谱采集的单像素成像也有一些限制。例如,它对光源的稳定性要求比较高,并且对图像中的动态变化较为敏感。此外,成像过程中的噪声也可能导致重建图像的质量下降。因此,在实际应用中,需要对这些因素进行考虑,并选择合适的算法和技术来实现高质量的单像素成像。

📚2 运行结果

测试图像:(可以换成自己的)

结果:

部分代码:

%% simulating single-pixel imaging with phase-shifting sinusoid illumination
close all
clear
clc
TimeStamp = datestr(now, 'YYmmDD_HHMMSS');

NOISE_POWER = 0;   % Additional noise to single-pixel measurements

%% Parameters
nStepPS = 4;                % N-step phase shifts (N is a integer not less than 3)
Phaseshift = 360/nStepPS;    % Unit: degree
SamplingRatio = 1;          % formerly, spectral coverage

% Get input image
[FileName, FolderName] = uigetfile({'*.bmp;*.jpg;*.tif;*.png;*.gif'','...
    'All Image Files';'*.*','All Files'});
InputImgFilePath = fullfile(FolderName, FileName);
if ~exist(InputImgFilePath, 'file')
    error('Input image not exists.');
end
SamplingPath = 'circular';  % circular, spiral

InputImg = im2double(imread(InputImgFilePath));
[mRow, nCol, nBand] = size(InputImg);
if nBand == 3
    InputImg = rgb2gray(InputImg);
end
figure,imshow(InputImg);title('Input image'); axis image;

[fxGrid, fyGrid] = meshgrid((0:1:nCol-1)/nCol, (0:1:mRow-1)/mRow);
fxGrid = fftshift(fxGrid); 
fyGrid = fftshift(fyGrid);

% Sampling strategy (aka sampling path)
OrderMat = getOrderMat(mRow, nCol, 'circular'); 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]陈星宇,白星,余展,等.高效的基于傅里叶单像素成像的亚像素级边缘检测技术[J].光学与光电技术, 2023, 21(4):26-33.

[2]刘世杰.彩色傅里叶单像素成像技术[D].暨南大学,2019.

[3]开静,翟爱平,赵文静,等.频域自适应降采样的傅里叶单像素成像[J].激光与光电子学进展, 2023, 60(2):9.DOI:10.3788/LOP212877.

🌈4 Matlab代码实现

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于四步傅里频谱获取的成像技术(四步法)是一种用于重建2D图像的成像方法。它使用傅里变换的原理处理光信号,并通过一个探测器来获取图像信息。以下是基于MATLAB实现四步法的步骤: 第一步,获取基底函数:在MATLAB中,我们可以设置一组不同的基底函数。这些基底函数可以是正弦波或随机函数等。我们需要选择一组合适的基底函数,以完整地表示图像中的空间频率。 第二步,生成光信号:使用选择的基底函数和图像进行矩阵相乘,生成一系列代表图像空间频率分量的光信号。这相当于在空域中使用基底函数对图像进行采样。 第三步,光信号在探测器中的测量:将生成的光信号通过光学系统传输到探测器上。探测器会以一定的时间间隔对光信号进行测量,获取一系列光强度测量值。 第四步,频谱重建:将得到的光强度测量值进行傅里变换,并将其变换到频域。通过滤波去除噪声,并利用反傅里变换将频谱转换回空域,从而得到重建的图像。 MATLAB提供了一系列函数来实现上述步骤,如fft函数用于进行傅里变换,ifft函数用于进行反傅里变换,im2double函数用于将图像转换为双精度浮点数,等等。通过编写相应的MATLAB脚本,可以实现四步法的成像技术,并得到图像的重建结果。 总结来说,基于四步傅里频谱获取的成像技术是一种利用傅里变换原理和探测器来实现图像重建的方法。在MATLAB中,可以通过选择适当的基底函数、生成光信号、测量光信号、进行频谱重建等步骤来实现成像技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值