function [ Lab ] = XYZ2Lab( XYZ,XYZ0 )

% XYZ数据转换为Lab数据,可批量处理

% 输入原始XYZ数据, n*3 矩阵

% 输入使用的光源的三刺激值XYZ0,1*3矩阵

X=XYZ(:,1);

Y=XYZ(:,2);

Z=XYZ(:,3);

X0=XYZ0(:,1);

Y0=XYZ0(:,2);

Z0=XYZ0(:,3);

L=116*f(Y./Y0)-16;

a=500*(f(X./X0)-f(Y./Y0));

b=200*(f(Y./Y0)-f(Z./Z0));

Lab(:,1)=L;

Lab(:,2)=a;

Lab(:,3)=b;

function [ ff ] = f( I )

if ( I > 0.008856 )

ff =

I.^(1.0/3);

else

ff =

7.787*I+16.0/116;

end

*******************************************************************

*******************************************************************

或者:

function [ Lab ] = XYZ2Lab( XYZ, XYZ0 )

% XYZ数据转换为Lab数据,可批量处理

% 输入原始XYZ数据, n*3 矩阵

% 输入使用的光源的三刺激值XYZ0,1*3矩阵

X=XYZ(:,1);

Y=XYZ(:,2);

Z=XYZ(:,3);

X0=XYZ0(1);

Y0=XYZ0(2);

Z0=XYZ0(3);

f1 = f(X/X0);

f2 = f(Y/Y0);

f3 = f(Z/Z0);

j1 = find(X/X0)<=0.008856;

j2 = find(Y/Y0)<=0.008856;

j3 = find(Z/Z0)<=0.008856;

f1(j1) = ff(X(j1)/X0);

f1(j2) = ff(Y(j2)/Y0);

f1(j3) = ff(Z(j3)/Z0);

L=116*f2-16;

a=500*(f1-f2);

b=200*(f2-f3);

Lab(:,1)=L;

Lab(:,2)=a;

Lab(:,3)=b;

end

function [ ff ] = f(I)

ff =

I.^(1.0/3.0);

end

function [ ff ] = ff(I)

ff =

7.787*I+16.0/116.0;

end

三个参数 matlab程序,由XYZ三刺激值,得到Lab值(matlab程序)相关推荐

  1. matlab怎么更改图形窗口的句柄值,matlab图形句柄属性

    句柄式图形常用函数: (1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值 (2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对 ...

  2. Matlab 计算显色指数(Ra,R1-R15)、CCT、duv、Lux、XYZ三刺激值、CIE1931x、CIE1931y

    Matlab 导入光谱数据一次性计算显色指数(Ra,R1-R15).CCT.duv.Lux.XYZ三刺激值.CIE1931x.CIE1931y 光谱数据格式如下:380到780间隔1nm,可设置 38 ...

  3. matlab pid 课设 参考文献,系统控制论文,关于Matlab在计算机控制技术课程“PID控制器参数整定”中的应用相关参考文献资料-免费论文范文...

    导读:本论文可用于系统控制论文范文参考下载,系统控制相关论文写作参考研究. 周少武陈敏沈红远 曾照福 (湖南科技大学信息与电气工程学院 湖南湘潭411201) 摘 要:传统PID参数整定的教学方法以定 ...

  4. addListener添加事件监听器,第三个参数useCapture (Boolean) 的作用

    addEventListener 有三个参数:第一个参数表示事件名称(不含 on,如 "click"):第二个参数表示要接收事件处理的函数:第三个参数为 useCapture,本文 ...

  5. 自适应滤波器在matlab仿真的程序_电气信息类专业课程之matlab系统仿真 第五章 BPSK通信系统(3)...

    继续讲解! 上一篇文章提出了那么多问题, 不知道大家是否能回答上来啊? 如果回答不了, 有没有去问问度娘呢? 程序写完了,回想了一下辅导2017届学生毕业设计的过程,那是真累.我要求他们在现有程序基础 ...

  6. range函数python三个参数_range()函数三种参数的用法

    第8篇分享 range()是python的内置函数,用的地方挺多的,目前我经常会在for循环中作为循环的次数来使用,其实range()的用法不仅仅如此,本文给大家介绍下range()函数的三种参数的基 ...

  7. 计算几何03_三次参数样条曲线与Cardinal曲线

    一.三次参数样条曲线 三次样条曲线的唯一缺点就是缺乏几何不变形.即当型值点发生几何变换时不能保证参数递增.因此提出了以弦长为参数的三次参数样条曲线. 1.1 定义 已知n个型值点Pi(xi, yi), ...

  8. MATLAB 手把手带你制作第一个APP designer程序(电子词典)

    注:左上角图标的添加方式(老版本和新版本俩种方法)放在文章最后 注此方法针对的为2019版本及之前的版本,比较新版本以增添该功能,直接设置uifigure的Icon属性即可,使用压缩包内文件可将sta ...

  9. oracle中的open,oracle最常见的三个参数:open_cursors、sessions、processes

    一.open_cursors 1. 检查数据库中的 OPEN_CURSORS 参数值: Oracle 使用 init.ora 中的初始化参数 OPEN_CURSORS 指定一个会话一次最多可以拥有的游 ...

最新文章

  1. UNIX/LINUX程序设计教程(1)-- 获取系统信息
  2. Android平台下OpenGL初步
  3. 无向图g的邻接矩阵一定是_矩阵是图
  4. java职业技能了解精通_如何通过精通数字分析来提升职业生涯的发展,第8部分...
  5. WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题
  6. MFC之CString与const char* string 转换
  7. mybatis的set标签
  8. Linux系统与服务构建(一)
  9. 冰冻三尺,非一日之寒。数据解析——xpath(1)
  10. 正则表达式regex(入门使用)
  11. 语音转写基于科大讯飞WebApi接口的安卓实现--上传录音音频翻译成文字
  12. 知物由学 | iOS AssetBundle资源保护
  13. 计算机系统处理机,处理机
  14. 微信小程序60秒倒计时
  15. 为什么广告技术发展了,成本却没降
  16. 真正可用的使用T5577卡复制4100卡_ID卡复制
  17. 大数据中的物联网运用
  18. 小程序另一种解析json
  19. mysql空间不足_磁盘空间不足的临时解决方案
  20. 电工(特种作业)无证上岗的法律后果可不轻,最新建筑施工 电工(建筑特种作业)机考题库及建筑电工模拟试题

热门文章

  1. 微信小程序,电商又一春!
  2. 用inno Setup做应用程序安装包的示例脚本(.iss文件)(
  3. oracle权限培训,【必看】Oracle用户、权限、角色管理
  4. Java导出带有单选款(radio)和复选框(checkbox)选中效果的word doc文档-Freemarker实现方式
  5. Hadoop百度百科
  6. word快捷键粘贴不能用
  7. 十进制和二进制简单计算
  8. 【统计学】经验法则与切比雪夫法则
  9. python字母频率统计
  10. 基于稳态视觉诱发电位(SSVEP)的中文拼写器脑机接口(BCI)对于应用于ALS患者