怎样用OpenCV实现怀旧滤镜效果
时间: 2024-05-13 14:18:36 浏览: 19
要使用OpenCV实现怀旧滤镜效果,可以按以下步骤进行:
1. 读取图像:使用OpenCV中的cv::imread()函数读取图像。
2. 转换颜色空间:将图像从BGR颜色空间转换为HSV颜色空间,使用cv::cvtColor()函数实现。
3. 调整饱和度和亮度:在HSV颜色空间中,调整饱和度和亮度可以实现怀旧效果。可以使用cv::split()函数将HSV图像分离成三个通道,对饱和度和亮度通道进行调整,然后使用cv::merge()函数将三个通道合并成一个HSV图像。
4. 转换回BGR颜色空间:使用cv::cvtColor()函数将调整后的HSV图像转换回BGR图像。
5. 输出图像:使用cv::imwrite()函数将处理后的图像保存到文件中。
以下是一段示例代码,可以实现怀旧滤镜效果:
```cpp
#include <opencv2/opencv.hpp>
int main() {
cv::Mat image = cv::imread("input.jpg");
cv::Mat hsv_image, saturation, value;
cv::cvtColor(image, hsv_image, cv::COLOR_BGR2HSV);
cv::split(hsv_image, std::vector<cv::Mat>{cv::Mat(), saturation, value});
saturation += 50;
value += 30;
cv::merge(std::vector<cv::Mat>{hsv_image, saturation, value}, hsv_image);
cv::cvtColor(hsv_image, image, cv::COLOR_HSV2BGR);
cv::imwrite("output.jpg", image);
return 0;
}
```
在这个示例代码中,我们将饱和度增加了50,亮度增加了30,从而实现了怀旧滤镜效果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)