MATLAB:颜色表提取

用于上色或其他处理、分析需求。如:PS自定义渐变色。

clc;clear;
Color = jet(1000)*255;
Precision = 1e-3;

R = Color(:,1);         G = Color(:,2);     B = Color(:,3);     % R、G、B
r = diff(diff(R));      g = diff(diff(G));  b = diff(diff(B));
Lr = r*0;   Lg = Lr;    Lb = Lr;
Lr(r>Precision) = 1;    Lg(g>Precision) = 1;    Lb(b>Precision) = 1;
Pr = find(Lr)+1;        Pg = find(Lg)+1;        Pb = find(Lb)+1;
P = sort(unique(cat(1,Pb,Pg,Pr)));
disp('位置( %)  16位颜色码')
disp(['00.00     ' Dec2Hex(R(1)) Dec2Hex(G(1)) Dec2Hex(B(1))])
for ii = 1:length(P)
    p = P(ii);
    Position  = num2str(p/10,'%.2f');
    disp([Position '     ' Dec2Hex(R(p)) Dec2Hex(G(p)) Dec2Hex(B(p))]);
end
disp(['100.00    ' Dec2Hex(R(1e3)) Dec2Hex(G(1e3)) Dec2Hex(B(1e3))])

function Hex = Dec2Hex(Dec)
Dec = round(Dec);
Hex = dec2hex(Dec);
if length(Hex) == 1
    Hex = ['0' Hex];
end
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值