您的位置:首页 > 编程语言 > C语言/C++

opencv4 c++ RGB颜色模式和CMYK颜色模式的相互转化

2020-04-05 12:12 1741 查看

CMYK转RGB

    今天看了一位大佬rgb转cmyk颜色模式的文章。但是我发现网上没有什么cmyk转rgb颜色模式的代码。我就根据大佬的代码写了一个。思路就是把大佬的代码逆向转换一下。

rgb转cmyk此处在大佬文章中已经有了,此处不再赘述。

大佬文章链接:https://www.geek-share.com/detail/2708519543.html

//cmyk转rgb
void CMYK2BGR(cv::Mat src, cv::Mat &dst) {
dst = cv::Mat::zeros(src.rows, src.cols, CV_8UC3);
int pixel_num = src.rows * src.cols;
for (int i = 0; i < pixel_num; i++) {
uchar C = src.data[4 * i + 0];
uchar M = src.data[4 * i + 1];
uchar Y = src.data[4 * i + 2];
uchar K = src.data[4 * i + 3];
uchar c = 0;
uchar m = 0;
uchar y = 0;
c = C * (255 - K) / 255 + K;
m = M * (255 - K) / 255 + K;
y = Y * (255 - K) / 255 + K;
dst.data[3 * i + 0] = 255 - c;
dst.data[3 * i + 1] = 255 - m;
dst.data[3 * i + 2] = 255 - y;
}
cv::cvtColor(dst, dst, cv::COLOR_RGB2BGR);
}
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
晓の彼方 发布了1 篇原创文章 · 获赞 1 · 访问量 153 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: