将RGB转换为CMYK



我有这个问题要将RGB颜色转换为CMYK颜色。当我执行代码时,我得到的结果是:

ans =
'RGB'

这意味着没有发生转换,图像也没有出现在我面前,我该怎么办?

folder = iccroot;
disp(folder)
profiles = iccfind(folder)
size(profiles)
currentProfile = profiles{1}
currentProfile.Description
ProfileName = currentProfile.Description.String
[~,descriptions] = iccfind(folder)
descriptions
[profiles,descriptions] = iccfind(folder,'rgb')
descriptions
currentProfile.Description
P = iccread('sRGB.icm');
P_new = iccwrite(P,'my_profile.icm');
I_rgb = imread('Pepper.png');
inprof = iccread('sRGB.icm');
outprof = iccread('EV2456 User 5000K G2.2.icc');
C = makecform('icc',inprof,outprof)
I_cmyk = applycform(I_rgb,C);
imwrite(I_cmyk,'pep_cmyk.tif','tif')
info = imfinfo('pep_cmyk.tif');
info.PhotometricInterpretation

我尝试了您的代码,发现文件'EV2456 User 5000K G2.2.icc'需要在你的系统中。在我的电脑里,它不见了,因为我没有和你的检查路径

"C: \Windows\System32\spool\drivers\color">

如果你这样做了icc数据库中没有icc文件

https://www.tftcentral.co.uk/articles/icc_profiles.htm

他们似乎有两个文件与你的显示器有关,试试

outprof = iccread('eizo_ev2455.icc');
outprof = iccread('eizo_ev2450.icc');

它应该起作用。在我的系统上工作。。。使用查看所有特征

info = imfinfo('pep_cmyk.tif')

相关内容

  • 没有找到相关文章

最新更新