当前位置: 首页 > article >正文

MATLAB仿真:涡旋光束光强和相位分布同时展示

绘画过程

在浏览一些文章发现将光强和相位分布显示在一张图片上可以有效增加文章的观感,如图1所示,今天小编带大家探索一下这种图是如何画出的。

图1:不同拓扑荷下的光强与相位分布

在处理图像之前我们先要了解什么是RGB以及HSV颜色模型。RGB模型是一种基于光的颜色模型,由红(Red)、绿(Green)、蓝(Blue)三种基本色光组成。通过调整这三种基色的强度,可以生成几乎所有可见光谱中的颜色。RGB分别表示三个通道通常被量化为0到255之间的整数,其中0表示该基色不发光,255表示该基色以最大强度发光。在HSV色彩空间里H代表颜色相位也就是色温,S是饱和度,V是亮度。通常的取值范围为:H:0—180,S:0—255,V:0—255,用度数表示H时,范围为H:0-360,S:0-1,V:0-1。

我们要处理的两个矩阵分别为相位矩阵(范围为0-2Π)和光强矩阵(范围归一化后0-1),通过将相位映射到HSV色彩空间中代表色温H,光强映射到HSV色彩空间中代表亮度V,再设定饱和度,便可以将光强分布和相位分布结合映射到色彩空间中,再将HSV色彩空间转换为RGB色彩空间就可以得到我们想要的彩色图片(如图2所示)。对应的colorbar可以在一个新的独立的axes里画出来(如图3所示)。

图2:仿真结果

图3:colorbar颜色表

MATLAB部分仿真代码

只展示部分代码,更多代码进T点博士生牛马赚点小钱

clc;clear;
%% 光束参数
lambda=632.8e-6;%mm
w0=0.5;
k=2*pi/lambda;
% 坐标
N =500;
df =8e-3;
[fx,fy] = meshgrid((-N/2:N/2-1)*df);
[phif,rf] = cart2pol(fx,fy);
p=1;
l=3;%H
E1= sqrt(2*factorial(p)/pi/factorial(p+abs(l)))*(sqrt(2)*rf/w0).^abs(l)...
        .*exp(-rf.^2/w0^2+1i*(l)*phif).*laguerre(p,abs(l),2*rf.^2/w0^2);
I=E1.*conj(E1);I = I./max(max(I)); %光强归一化

喜欢的话点点关注点点赞呀

如有问题可在评论区留言

 


http://www.kler.cn/a/572790.html

相关文章:

  • 图漾PercipioIPTool软件使用
  • setlocale()的参数,“zh_CN.UTF-8“, “chs“, “chinese-simplified“的差异。
  • 人工智能神经网络基本原理
  • STM32---FreeRTOS中断管理试验
  • KIKKKKKKK::::::::::::::
  • MR 1. 孟德尔随机化在生物医学研究中的应用概述
  • 探秘鸿蒙 HarmonyOS NEXT:权限申请策略指南
  • Linux网络 NAT、代理服务、内网穿透
  • c语言中的主要知识点
  • Qt:事件
  • 大模型在呼吸衰竭预测及围手术期方案制定中的应用研究
  • C语言-一维数组及综合案例
  • 鸿蒙NEXT开发-端云一体化开发概念开发准备
  • mysql下载与安装
  • SpringMVC控制器定义:@Controller注解详解
  • 第3章:启动界面与主界面设计
  • 微信小程序中的全局事件总线,原生JS编写
  • Maven入门教程
  • Windows权限维持之利用安全描述符隐藏服务后门进行权限维持(八)
  • 初识Qt · 信号与槽 · 自定义和参数