无法创建自定义colormap从RGB数据?

20视图(30天)
仍然深陷一个之间的区别 数组 和一个 矩阵
一切都工作得很好,直到我偶然发现以下错误消息,试图创建colormap时:
Colormap必须Mx3数组类型的单引号或双值在[0,1]范围或一个Mx3吗
数组uint8类型。
这是我的代码:
%生成三个向量
Axe_A_B = ' (linspace (-128、128、21));
Axe_La = ' (linspace(39岁,50岁,21));
Axe_Lb = ' (linspace(21) 15100年);
Lab_Axe_AB = [Axe_La、Axe_A_B Axe_A_B];21 x % 3双
RGB_Axe_AB = lab2rgb (Lab_Axe_AB)
%底片价值观?
(行,坳)= (RGB_Axe_AB)大小;
行= 1:行
如果RGB_Axe_AB(行,1)< 0
RGB_Axe_AB(行,1)= 0;
结束
如果RGB_Axe_AB(行,2)< 0
RGB_Axe_AB(行,2)= 0;
结束
如果RGB_Axe_AB(行,3)< 0
RGB_Axe_AB(行,3)= 0;
结束
结束
RGB_Axe_AB_ColorMap = colormap (RGB_Axe_AB)
我在圆……
文件状态:
% Colormap必须有三列:(R, G, B)
%定义一个三列的矩阵的值
这是我的内容RGB_Axe_AB“变量”:
RGB_Axe_AB =
0 0.5400 1.2184
0 0.5321 1.1330
0 0.5240 1.0486
0 0.5152 0.9653
0 0.5058 0.8831
0 0.4952 0.8020
0 0.4833 0.7220
0 0.4695 0.6432
0 0.4536 0.5654
0.2388 0.4349 0.4886
0.4126 0.4126 0.4126
0.5271 0.3857 0.3369
0.6198 0.3526 0.2607
0.7011 0.3106 0.1812
0.7756 0.2540 0.0886
0.8459 - 0.1660 0
0.9139 0 0
0.9810 0 0
1.0478 0 0
1.1142 0 0
1.1804 0 0
我没有费心去创建一个256尺寸变量。…

接受的答案

罗杰·布列塔尼人
罗杰·布列塔尼人 2022年1月18日
编辑:沃尔特·罗伯森 2022年1月18日
哎呀粘doopsy !我只是意识到这些列有值> 1.0 !哦,男孩!鸡蛋在我的脸上……
这是修改后的代码:
行= 1:行
如果RGB_Axe_AB(行,1)< 0
RGB_Axe_AB(行,1)= 0;
结束
如果RGB_Axe_AB(行,1)> 1
RGB_Axe_AB(行,1)= 1;
结束
如果RGB_Axe_AB(行,2)< 0
RGB_Axe_AB(行,2)= 0;
结束
如果RGB_Axe_AB(行,2)> 1
RGB_Axe_AB(行,2)= 1;
结束
如果RGB_Axe_AB(行,3)< 0
RGB_Axe_AB(行,3)= 0;
结束
如果RGB_Axe_AB(行,3)> 1
RGB_Axe_AB(行,3)= 1;
结束
结束
自然,现在一切正常。没有更多的错误....
有办法做这个过程更有效率?不通过一个循环?
提前感谢您的帮助和耐心:-)
6个评论
罗杰·布列塔尼人
罗杰·布列塔尼人 2022年1月18日
罗马不是一天建成的。我发现一个错误在黄色的外观吗?这是修正后的代码:
%生成三个向量
Axe_A_B = ' (linspace (-128、128、21));
Axe_B_A = ' (linspace (-128、128、21));
Axe_La = ' (linspace(39岁,50岁,21));%绿色红色
Axe_Lb_Zero = ' (linspace (0, 0, 21));
Axe_Lb = ' (linspace(21) 15100年);%蓝色,黄色
Lab_Axe_AB = [Axe_La、Axe_A_B Axe_Lb_Zero];21 x % 3双
RGB_Axe_AB = lab2rgb (Lab_Axe_AB)%绿色红色
Lab_Axe_BA = [Axe_Lb、Axe_Lb_Zero Axe_B_A];21 x % 3双
翻= flipud (Lab_Axe_BA);
% RGB_Axe_BA = lab2rgb (Lab_Axe_BA) %黄色到蓝色
RGB_Axe_BA = lab2rgb(翻)%黄色,蓝色
数组颠倒翻转,让正确的实验室(RGB)值出现在正确的(b * = + 128)的规模。愚蠢的我。这是好:

登录置评。

更多的答案(0)

类别

找到更多的在红色的帮助中心文件交换

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!