急问:MATLAB中的RGB转CMYK具体是怎么实现的呢?

青松2 2016-07-07 05:15:53
按照网上的算法,实际转换后的效果和在MATLAB中差别很大,是什么原因呢?谢谢了!

...全文
2258 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
青松2 2016-08-04
  • 打赏
  • 举报
回复
没人能告诉我吗???????
青松2 2016-07-11
  • 打赏
  • 举报
回复
引用 2 楼 u014260892 的回复:
你把转换后的结果贴出来,还有程序,大家帮你找找原因啊


MATLAB自带的函数转换:
cform = makecform('srgb2cmyk');
CMYK = applycform(rgb,cform);



根据网上说明的转换程序:
function CMYK= funRgb2CMYK( rgb )

[m,n,~]=size(rgb);

r=rgb(:,:,1);
g=rgb(:,:,2);
b=rgb(:,:,3);
%
C1=255-r;
M1=255-g;
Y1=255-b;

expRgb=[C1(:)';M1(:)';Y1(:)'];

expK=min(expRgb);

K=reshape(expK,[m,n]);
% %
C=C1-K;
M=M1-K;
Y=Y1-K;

CMYK=cat(3,C,M,Y,K);
end

对M通道的效果图见附图(左图是原图,中图是MATLAB自带转换,右图是自写转换结果):
penghuahuijuan 2016-07-08
  • 打赏
  • 举报
回复
你把转换后的结果贴出来,还有程序,大家帮你找找原因啊
zgl7903 2016-07-07
  • 打赏
  • 举报
回复
matlab 也可以调试的吧, 设置个断点,看看能不能调试到内部的源码

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧