李成笔记网

专注域名、站长SEO知识分享与实战技巧

计算XYZ三刺激值的MATLAB程序(求三刺激值)

有人向我要由光谱数据计算XYZ三刺激值的MATLAB的程序,很多年前写的了,也多年不用MATLAB了,程序还在,应该不会错。

function XYZ=XYZ_fromSR(SR,S,deg)
% 由光谱反射率计算颜色的三刺激值
% 输入参数:
%     SR--光谱反射率,n×2的矩阵,第一列是波长,第2~m列是光谱反射率数据
%     S-光源,'A'表示A光源,'C'表示C光源,'D50','D55','D65','D75',默认D65
%     deg--视场,2表示2°视场,10表示10°视场,默认2°视场
% 输出参数:
%     XYZ-颜色的三刺激值
%
% 编写: 
% 2007-8-28
% 

if nargin==0     % 如果没有参数
   dis('请输入光谱反射率数据,注意是n×2的矩阵,第一列是波长,第2列是光谱反射率数据');
   return;
else if nargin ==1   % 如果 是一个参数
        Illcode = 'D65' ; % 光源默认为D65
        degcode = 2;   % 默认2°视场
    else if nargin ==2   % 如果 是二个参数  视场默认2° 
            Illcode = S;   % 光源 
            degcode = 2;   % 默认2°视场
        else if nargin ==3       % 如果 是3个参数  
            Illcode = S;   % 光源 
            degcode = deg;   % 2°视场 
            else  
                Illcode = 'D65' ; % 光源默认为D65
                degcode = 2;   % 默认2°视场
            end
        end
    end
end  

% 获得光源的相对光谱功率分布 
RSPD=getRSPD(Illcode);

% 获得CIE标准观察者的数据

if degcode== 10
    CIE_Std = CIE1964Std_XYZ;  
else
    CIE_Std = CIE1931Std_XYZ;  
end  



% SR和RSPD波长的范围和间隔可能不一样,下面找出两者共有的波长
[comn,iColorS,iIll] = intersect(SR(:,1),RSPD(:,1));

% SR和RSPD以及CIE_Std波长的范围和间隔可能不一样,下面找出3者共有的波长
[comn,iCIE_Std,ic] = intersect(CIE_Std(:,1),comn);
[c,iSR,ic] = intersect(SR(:,1),comn);
[c,iRSPD,ic] = intersect(RSPD(:,1),comn);

if RSPD(iRSPD,2)==0
    XYZ= [0 0 0];
    return
end
    
K=100/sum(RSPD(iRSPD,2).*CIE_Std(iCIE_Std,3));  % 计算K值

 
[a,sample_num]=size(SR);
XYZ=zeros(sample_num-1,3);
for ii=2:sample_num
    Xt=K*sum(RSPD(iRSPD,2).*CIE_Std(iCIE_Std,2).*SR(iSR,ii)); % 计算X刺激值
    Yt=K*sum(RSPD(iRSPD,2).*CIE_Std(iCIE_Std,3).*SR(iSR,ii)); % 计算Y刺激值 
    Zt=K*sum(RSPD(iRSPD,2).*CIE_Std(iCIE_Std,4).*SR(iSR,ii)); % 计算Z刺激值 
    XYZ(ii-1,:)=[Xt,Yt,Zt];
end
   

入门注册中心——consul(注册教程)

基础概念

什么是注册中心

随着微服务理论发展的成熟,越来越多互联网公司采用微服务架构来支持业务发展。

网卡DM9000裸机驱动开发详解(网卡驱动9462)

一、网卡

1. 概念

网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第2层。它使得用户可以通过电缆或无线相互连接。

浅谈Kubernetes CRD和Operator的原理和使用方法

总结

CRD的全称是CustomResourceDefinition, 是Kubernetes为提高可扩展性,让开发者去自定义资源(如Deployment,StatefulSet等)的一种方法.

射频功放非线性分析与测试(射频功放电路设计)

摘 要:通过研究射频功率放大器非线性失真产生的理论原因,着重分析了非线性失真中的三阶互调失真(IMD3)。基于功率晶体管AFT27S006N设计了一款应用于TD-LTE基站的功率放大器。经测试,此功放峰值功率为7 W,PAE为53%,Pout回退到1 W时IMD3达到了-43 dBc,符合设计指标。

0 引言

近年来,信息产业的发展越来越迅速,而通信产业的发展,则又是信息产业中发展较为迅速的产业。目前通信产业已经走上规模化集成化的发展道路,并已成为信息产业发展中最耀眼的亮点。但随着通信产业的快速发展,通信频段已经成为一种稀有且昂贵的商品,当面临频谱效率和功率效率这两个重要指标之间进行选择时,工业上更趋向于选择频谱效率。为了在有限的频率范围内容纳更多的通信信道,就需要采用更高效率的编码调制方式,例如TD-LTE系统采用的BPSK(Binary Phase Shift Keying)、QPSK(Quadrature Phase Shift Keying)数据调制方式

从0开始设计_基于STM32F1的RC522读写卡

从0开始设计_基于STM32F1的RC522读写卡


<< 1 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言