admin 管理员组文章数量: 887021
【图像处理】
【图像处理】-019 补色
文章目录
- 1 补色
- 2 OpenCV实现
- 3 效果图
1 补色
在学习灰度图像处理的时候,有一种操作可以形成照片底片的效果。这种操作将灰度值设置为255与该灰度值的差。
在彩色图像处理中,也有类似的操作,通过将彩色图像的色调设置为在彩色环上直接相对的另一端的值,来进行补色。
2 OpenCV实现
在实现的过程中,主要有两种思路,一种是取图像的H分量,进行“反转”之后生成结果图像,另一种是和灰度图一样处理,对RGB三个通道分别进行反转,即用255-RGB,得到结果图像。
#include "../include/importOpenCV.h"
#include "../include/baseOps.h"
#include "../include/opencv400/opencv2/core.hpp"
#include <iostream>
#include <algorithm>int main()
{//将工作目录设置到EXE所在的目录。SetCurrentDirectoryToExePath();cv::Mat src = cv::imread("../images/5.jpg");cv::imshow("原图", src);cv::Mat output;src.copyTo(output);if (src.channels() == 3){cv::Mat hsvImg;cv::cvtColor(src, hsvImg, cv::COLOR_BGR2HSV);std::vector<cv::Mat> hsv;cv::split(hsvImg, hsv);hsv[0] =( cv::Scalar::all(180) - hsv[0]);cv::merge(hsv, output);cv::imshow("补色HSV", output);output = cv::Scalar::all(255) - src;cv::imshow("补色RGB", output);}else{output = cv::Scalar::all(255) - src;cv::imshow("补色", output);}cv::waitKey();return 0;
}
3 效果图
从结果图中可以看出,取H进行补色的结果更贴近定义。例如图中女孩的红色衣服,补色应该是黄色,而RGB补色结果中颜色更靠近蓝色。
本文标签: 图像处理
版权声明:本文标题:【图像处理】 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1698168122h287391.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论