opencv滤镜-单色滤镜

单色滤镜

单色滤镜的原理非常简单,rgb图像有三个颜色分量,单色滤镜只需要将其中两个分量的值设置为0,保留的颜色分量不修改即可。

filter-img

代码实现

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// single-color-filter.cpp 
// @mango

#include <iostream>
#include<opencv2/opencv.hpp>



int main()
{

	cv::Mat img = cv::imread("fruit.jpg");

	for (size_t i = 0; i < img.rows; i++)
	{
		for (size_t j = 0; j < img.cols; j++)
		{
			// 保留绿色 | remain green
			img.at<cv::Vec3b>(i, j)[0] = 0;// blue
			img.at<cv::Vec3b>(i, j)[2] = 0;// red
		}
	}
	cv::imshow("单色滤镜-绿色", img);

	cv::waitKey(0);
	return 0;
}

单色滤镜-绿色.png

单色滤镜-红色.png


本文由芒果浩明发布,转载请注明来源。 本文链接:https://blog.mangoeffect.net/opencv/single-color-filter.html


微信公众号