CIELAB color difference
CIELAB色差计算比较详细的介绍:
https://en.wikipedia.org/wiki/Color_difference
CIE2000的计算步骤:
https://www.colortell.com/3424.html
MATLAB代码实现:
function E00 = delta_E00(img,src,bor) %返回两张图片的色差计算结果
imgt = rgb2lab(img);
srct = rgb2lab(src);
[height,width,deepth] = size(img);
fph=bor+1;
lph=bor;
fpv=bor+1;
lpv=bor;
E = 0;
kL = 1;
kC = 1;
kH = 1;
for a=fpv:height-lpvfor b=fph:width-lphmean_cab = (CaiDu(imgt(a,b,2),imgt(a,b,3))...,+ CaiDu(srct(a,b,2),srct(a,b,3))) / 2;mean_cab_pow7 = mean_cab^7;G = 0.5*(1-sqrt(mean_cab_pow7/(mean_cab_pow7 + 25^7)));LL1 = imgt(a,b,1);aa1 = imgt(a,b,2) * (1+G);bb1 = imgt(a,b,3);LL2 = srct(a,b,1);aa2 = srct(a,b,2) * (1+G);bb2 = srct(a,b,3);CC1 = CaiDu(aa1,bb1);CC2 = CaiDu(aa2,bb2);hh1 = SeDiaoJiao(aa1,bb1);hh2 = SeDiaoJiao(aa2,bb2);delta_LL = LL1 - LL2;delta_CC = CC1 - CC2;delta_hh = SeDiaoJiao(aa1,bb1) - SeDiaoJiao(aa2,bb2);delta_HH = 2 * sin(pi * delta_hh / 360) * sqrt(CC1 * CC2);mean_LL = (LL1 + LL2) / 2;mean_CC = (CC1 + CC2) / 2;mean_hh = (hh1 + hh2) / 2;SL = 1 + 0.015 * (mean_LL-50)^2 / sqrt(20 + (mean_LL-50)^2);SC = 1 + 0.045 * mean_CC;T = 1 - 0.17*cos((mean_hh-30)*pi/180)...,+ 0.24*cos(2*mean_hh*pi/180)...,+ 0.32*cos((3*mean_hh+6)*pi/180)...,- 0.2*cos((4*mean_hh-63)*pi/180);SH = 1 + 0.015*mean_CC*T;mean_CC_pow7 = mean_CC^7;RC = 2*sqrt(mean_CC_pow7/(mean_CC_pow7+25^7));delta_xita = 30*exp(-((mean_hh-275)/25)^2);RT = -sin((2*delta_xita)*pi/180)*RC;L_item = delta_LL/(kL*SL);C_item = delta_CC/(kC*SC);H_item = delta_HH/(kH*SH);E(a-bor,b-bor) = sqrt(L_item^2 + C_item^2....,+ H_item^2 +RT*C_item*H_item); %CIE2000计算公式end
end
E00 = nanmean(mean(E)); %统计平均值,mean会产生NaN计算结果,所以用nanmean,欢迎指正
endfunction cab = CaiDu(a,b)
cab = sqrt(a^2 + b^2);
endfunction hab = SeDiaoJiao(a,b)
h = (180/pi)*atan(b/a);
if(a>0 && b>0)hab = h;
elseif(a<0 && b>0)hab = 180 + h;
elseif(a<0 && b<0)hab = 180 + h;
elsehab = 360 + h;
end
end
CIELAB color difference相关推荐
- SwiftUI 色彩教程之 01什么是色差Color difference
SwiftUI 色彩教程之什么是色差Color difference 什么是色差Color difference 两种颜色之间的差异或距离是颜色科学中关注的指标.它允许对以前只能用形容词描述的概念进行 ...
- CRICQSCRI2012MCRIGAI显色性计算软件工具
下面为一家国外商业软件的介绍,计算功能确实很强大,但是收费过于昂贵,目前本人已经针对以下全部计算进行了研发,全部研究出来了,无论哪个计算指标都经过验证,而且导入光谱数据即可计算出来结果, 链接:htt ...
- RGB颜色空间和CIELab颜色空间互换(matlab代码)
来源:http://www.mathworks.com/matlabcentral/fileexchange/24009-rgb2lab/content/RGB2Lab.m和http://www.ma ...
- morphological antialiasing
为什么80%的码农都做不了架构师?>>> mlaa有着和ssao很像的特点,比较简单的技术,很棒的效果. 而且mlaa显然要比ssao有冲击力的多,个人觉得要把msaa干翻了. ...
- 图像增强/颜色管理/3A
参考文章: HDR之双边滤波和引导滤波, 图像增强模块简介, 论文解读 https://blog.csdn.net/yywxl/article/details/108976002 色相/饱和度 图像处 ...
- macOS Swift精品项目之查找图像的主色App 使用CIE LAB颜色空间和k-means聚类算法(教程含源码)
实战需求 macOS Swift精品项目之查找图像的主色App 使用CIE LAB颜色空间和k-means聚类算法 本文价值与收获 看完本文后,您将能够作出下面的界面 基础知识 Color Space ...
- cmc色差的matlab程序,CIEDE2000 色差公式 CMC 容差方法 CIE LAB
无论如何,现在ISO 在印刷领域的标准仍然是DeltaE 76. 所以即便DeltaE2000有证据表明很好.但并不能够表明100%比2000更好.而且这是一个系统工程.真正全部使用2000,整个印刷 ...
- vue 调色板_使用vue.js从图像中获取主要调色板
vue 调色板 节点振动的 (node-vibrant) Extract prominent colors from an image (node-vibrant). 从图像中提取突出的颜色(节点充满 ...
- 《OpenCV3编程入门》学习笔记6 图像处理(五)漫水填充
6.5 漫水填充(floodFill) 6.5.1 漫水填充 1.定义:一种用特定的颜色填充连通区域,通过设置可连通像素的上下限及连通方式达到不同填充效果 2.基本思想:自动选中和种子点相连的区域(位 ...
最新文章
- luogu P1231 教辅的组成(建图、拆点、最大流)
- 利用Traefik+Docker构建可弹性扩展的微服务或服务集群
- 修改jupyter的保存位置
- 堆排序(heap_sort)
- (转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验
- 不是python文件处理seek()方法的参数是_python文件操作seek()偏移量,读取指正到指定位置操作...
- DataGridView控件用法二:常用属性
- Memcached - Base
- Linux面试题100道
- 每天工作16个小时,如果辞职,会不会显得自己没责任心呢?
- 广义表头尾链表存储结构_详解Redis五种数据结构的底层原理
- 8 月 Github 上有哪些值得参与的开源项目?
- 产业链图谱:2021年中国显示器产业链图谱|产业链全景图
- linux中wine文件夹在哪,linux下wine的使用
- php exec 命令,概述PHP命令行shell_exec()使用
- esxi - 加装vmware titan xp显卡配置
- 检样用计算机时间,怎么检查电脑用了多久?
- 3dmax 建模插件 Rappa Tools 3 笔记
- 用Python删除电脑中的重复文件,竟如此简单
- python语言入门全集-Python语言入门(一)