核心内容摘要
3步解锁魔兽争霸III增强体验:零基础也能轻松掌握的WarcraftHelper工具
根据四个偏振角度的偏振图像计算偏振斯托克斯矢量Stokes Vector遵循图像预处理→强度提取→斯托克斯分量计算的流程。
斯托克斯矢量是描述偏振光状态的核心工具通过四个实数参数S0,S1,S2,S3完整表征光的总强度、线偏振/圆偏振成分及方向。
斯托克斯矢量的基本概念斯托克斯矢量的四个分量定义如下主流约定S0S_0S0总光强即四个偏振角度图像的平均强度或总和取决于定义S1S_1S1水平与垂直线偏振强度差I0−I90I_0−I_{90}I0−I90反映线偏振在水平/垂直方向的偏好S2S_2S2±45°线偏振强度差I45−I135I_{45}−I_{135}I45−I135反映线偏振在±45°方向的偏好S3S_3S3右旋与左旋圆偏振强度差IR−ILI_R−I_LIR−IL反映圆偏振的手性本题中未涉及圆偏振片故S30S_30S30。
其中I0,I45,I90,I135I_0,I_{45},I_{90},I_{135}I0,I45,I90,I135分别为0°水平、45°、90°垂直、135°偏振角度下的图像强度。
实现步骤与MATLAB代码
图像预处理读取图像使用imread读取四个偏振角度的偏振图像假设为JPG/PNG格式灰度转换将彩色图像转换为灰度图像偏振信息主要包含在强度中归一化将灰度值归一化到[0,1]区间避免亮度差异影响计算。
强度提取直接从预处理后的灰度图像中提取每个像素的强度值I0,I45,I90,I135I_0,I_{45},I_{90},I_{135}I0,I45,I90,I135。
斯托克斯分量计算根据斯托克斯矢量的定义计算每个像素的四个分量S0I0I902,S1I0−I90,S2I45−I135,S30S_0\frac{I_0I_{90}}{2},S_1I_0−I_{90},S_2I_{45}−I_{135},S_30S02I0I90,S1I0−I90,S2I45−I135,S30
MATLAB代码实现MATLAB代码包含图像读取、预处理、斯托克斯分量计算及结果可视化%%
参数设置偏振角度列表0°、45°、90°、135° angles[0,45,90,135];图像文件名需根据实际路径修改 image_files{polar_0deg.jpg,polar_45deg.jpg,polar_90deg.jpg,polar_135deg.jpg};%%
图像预处理与强度提取初始化存储强度的矩阵 Izeros([size(imread(image_files{1}),
,size(imread(image_files{1}),
,4]);fori1:4% 读取图像imgimread(image_files{i});% 转换为灰度图像如果是彩色图像ifsize(img,
3img_grayrgb2gray(img);elseimg_grayimg;end% 归一化到[0,1]区间I(:,:,i)double(img_gray)/255;end% 提取各角度强度I0I(:,:,
;% 0°偏振强度I45I(:,:,
;% 45°偏振强度I90I(:,:,
;% 90°偏振强度I135I(:,:,
;% 135°偏振强度%%
计算斯托克斯分量S0(I0I
/2;% 总光强S1I0-I90;% 水平-垂直线偏振差S2I45-I135;% ±45°线偏振差S3zeros(size(S
);% 圆偏振差无圆偏振片时设为0%%
结果可视化figure(Position,[100,100,1200,800]);% 显示原始偏振图像subplot(2,3,
;imshow(I
;title(0°偏振图像);subplot(2,3,
;imshow(I
;title(45°偏振图像);subplot(2,3,
;imshow(I
;title(90°偏振图像);subplot(2,3,
;imshow(I
;title(135°偏振图像);% 显示斯托克斯分量subplot(2,3,
;imshow(S0,[]);title(斯托克斯分量S0总光强);subplot(2,3,
;imshow(S1,[]);title(斯托克斯分量S1水平-垂直差);figure(Position,[100,100,800,400]);subplot(1,2,
;imshow(S2,[]);title(斯托克斯分量S2±45°差);subplot(1,2,
;imshow(S3,[]);title(斯托克斯分量S3圆偏振差);%%
保存结果可选% 将斯托克斯分量保存为MAT文件save(stokes_vector.mat,S0,S1,S2,S
;% 将斯托克斯分量保存为图像文件imwrite(S0,S
png);imwrite(S1,S
png);imwrite(S2,S
png);imwrite(S3,S
png);
结果分析
斯托克斯分量的物理意义S0总光强图像反映场景的整体亮度分布与原始偏振图像的平均强度一致S1水平与垂直线偏振差正值表示水平偏振占优负值表示垂直偏振占优S2±45°线偏振差正值表示45°偏振占优负值表示135°偏振占优S3圆偏振差本题中因未使用圆偏振片故所有像素值为0若使用圆偏振片可提取右旋/左旋圆偏振强度差。
示例结果假设输入的偏振图像为室内场景包含水平桌面、垂直墙面则S0S_0S0图像显示桌面的高亮度因桌面反射的水平偏振光强S1S_1S1图像中桌面区域为正值水平偏振占优墙面区域为负值垂直偏振占优S2S_2S2图像中45°倾斜的物体如书本会有明显的正负值分布取决于其偏振方向。
五、
注意事项图像配准四个偏振图像需严格配准即同一场景、同一视角否则会导致斯托克斯分量计算误差噪声处理若图像存在噪声可使用高斯滤波imgaussfilt或中值滤波medfilt2预处理归一化必须归一化到[0,1]区间否则不同图像的亮度差异会影响斯托克斯分量的准确性圆偏振片若需计算S3需添加圆偏振片如1/4波片线性偏振片并采集右旋/左旋圆偏振图像。
参考代码 根据四个偏振角度的偏振图像计算偏振斯托斯矢量www.youwenfan.com/contentcsq/
html
拓展应用斯托克斯矢量是偏振成像的核心工具可用于材质识别不同材质的偏振特性S1,S2差异显著如金属 vs 塑料表面检测通过S1,S2的分布识别表面划痕、凹陷等缺陷目标跟踪利用偏振信息的稳定性不受光照强度变化影响提升目标跟踪的鲁棒性。
总结通过四个偏振角度的图像计算斯托克斯矢量需遵循预处理→强度提取→分量计算的流程。
MATLAB代码实现了这一流程并可可视化结果。
斯托克斯矢量为偏振成像提供了定量的偏振状态描述是材质识别、表面检测等领域的