关于#Matlab#图形绘制的问题,如何解决?

Matlab的色域图绘制方法好像都是CIE1931的,想寻找一个CIE1976的马蹄图绘制方法。

img

plotChromaicity
hold on

https://ww2.mathworks.cn/help/images/ref/plotchromaticity.html
这是Matlab官方的帮助文档,文档说了2017b版本以后的Matlab用plotChromaicity就能直接绘制CIE 1976 Lab*颜色空间
网页是英文的,看起来比较费劲的话,就直接翻译成中文再看

img

这篇就有讲的啊,https://blog.csdn.net/Carifee/article/details/119153493

clc;
clear;
colorspace_ciedemo;
file_path = '...';% 图像文件夹路径 
img_path_list = dir(strcat(file_path,'*.png'));%获取该文件夹中所有png格式的图像  
img_num = length(img_path_list);%获取图像总数量  

if img_num > 0 %有满足条件的图像  
        for j = 1:20 %逐一读取图像  
             image_name = img_path_list(j).name;% 图像名  
  
             A = imread([file_path,image_name]);  
             B = colorspace('XYZ<-RGB',A);
   
             C1=B(1,1,1);
             C2=B(1,1,2);
             C3=B(1,1,3);
             C=C1+C2+C3;
             D=B/C; 
             X=D(1,1,1);
             Y=D(1,1,2);
             Z=D(1,1,3);
             hold on
             plot(X,Y,'k.','MarkerSize',10) %  'k.' 代表 black黑色点
             title('色品图')
        end       
      
end

需要在色度图像标出的图片保存成png格式放到一个文件夹中,然后在代码中 文件路径处 改为文件夹所在的路径