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
- 收藏
- 分享
- 文章举报
相关文章推荐
- 《OpenCV颜色空间及颜色空间相互转化》
- opencv中C接口与C++接口的相互转换(Mat 和 CvMat,IplImage相互转化)
- opencv中C接口与C++接口的相互转换(Mat 和 CvMat,IplImage相互转化)
- C++: byte 和 int 的相互转化
- C++: byte和int的相互转化
- 程序目的:实现c++整型和字符数组,字符串的相互转化
- 将CMYK颜色值和RGB颜色相互转换的PHP代码
- XML与C++对象的相互转化
- 大端小端模式以及相互转化
- OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
- c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法
- 基类(base class)和派生类(derived class)指针在C++的相互转化
- c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串相关的函数整理
- Halcon图像与Opencv图像相互转换(C++代码)
- C++ 中 string 和其它类型的相互转化。
- OpenCV|图片与视频的相互转换(C++&Python)
- C++基础——bitset与string的相互转化
- 【基于C++和Python的Opencv3学习笔记之颜色空间缩减、ROI提取及多通道分离合并】
- OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
- c++中字符串与数字之间的相互转化