OpenCV-风景—天空滤镜

news/2024/11/19 7:26:11/

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

实现原理

       之前筹备了几款图像处理的工具函数,就是为了实现一些定义好的滤镜特效。这几个函数分别为饱和度(Saturation)、明度(Lightness)、对比度(Contrast)、锐化(Sharpen)、阴影(Shadow)、高光(HighLight)、色温(ColorTemperature)。

       本文展示的是天空滤镜,大家可以根据自身喜好,适当合理地调整滤镜参数。风景-天空滤镜参数为:

  1. 饱和度+35;
  2. 明度+20;
  3. 对比度+15;
  4. 阴影+15;
  5. 高光-30;
  6. 色温-40;

       通过提高饱和度使风景色彩更鲜艳;明度增加有助于图像整体提亮;对比度适当增强,是为了突出天空和其他区域的差异;阴影增加是为了使云彩阴影处提亮,“晴天”感重些;高光减少是为了避免曝光过度使得天空一片亮白;色温降低是为了突出天空蓝色。

       工具函数链接如下。

功能函数链接

1.饱和度:OpenCV-图像饱和度_翟天保的博客-CSDN博客

2.明度:OpenCV-图像明度_翟天保的博客-CSDN博客

3.对比度:OpenCV-图像对比度_翟天保的博客-CSDN博客

4.阴影:OpenCV-图像阴影调整_翟天保的博客-CSDN博客

5.高光:OpenCV-图像高光调整_翟天保的博客-CSDN博客

6.色温:OpenCV-图像色温_翟天保的博客-CSDN博客

C++测试代码

#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;#define max2(a,b) (a>b?a:b)
#define max3(a,b,c) (a>b?max2(a,c):max2(b,c))
#define min2(a,b) (a<b?a:b)
#define min3(a,b,c) (a<b?min2(a,c):min2(b,c))// 饱和度
cv::Mat Saturation(cv::Mat src, int percent);
// 明度
cv::Mat Lightness(cv::Mat src, float percent);
// 对比度
cv::Mat Contrast(cv::Mat src, int percent);
// 图像锐化
cv::Mat Sharpen(cv::Mat input, int percent, int type);
// 图像阴影选取
cv::Mat Shadow(cv::Mat input, int light);
// 图像高光选取
cv::Mat HighLight(cv::Mat input, int light);
// 色温调节
cv::Mat ColorTemperature(cv::Mat input, int percent);int main()
{cv::Mat src = imread("sky1.jpg");cv::Mat sat = Saturation(src, 35);cv::Mat lig = Lightness(sat, 20);cv::Mat con = Contrast(lig, 15);cv::Mat sdo = Shadow(con, 15);cv::Mat hig = HighLight(sdo, -30);cv::Mat col = ColorTemperature(hig,-40);imshow("original", src);imshow("Saturation", sat);imshow("Lightness", lig);imshow("Contrast", con);imshow("Shadow", sdo);imshow("HighLight", hig);imshow("ColorTemperature", col);waitKey(0);return 0;
}

测试效果

图1 原图1
图2 效果图1
图3 原图2
图4 效果图2
图5 原图3
图6 效果图3
图7 原图4
图8 效果图4

       如果大家有更好的参数配置,欢迎评论区分享,看看谁的滤镜更凸显天空美。

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!


http://www.ppmy.cn/news/497431.html

相关文章

TDengine 时区问题与插入、查询时间的处理

第一次接触TDengine 遇到了很多坑(大坑&#xff0c;非常大的坑)&#xff0c;就是插入数据库的时间与查询的时间总是不一致&#xff0c;这个问题困扰了我很长时间。现将思路写出来&#xff1a; 了解TDengine 时区 本地日期时间&#xff1a;表示当地的日期时间。12:00是中午吃饭…

其实风景就在我们身边

上个周末&#xff0c;天气非常好。非常适合出去带小孩出去玩。家的附近有个很大的公园&#xff0c;闵行体育公园。以前就听朋友说起过&#xff0c;也带小孩去玩过&#xff0c;但集中在儿童乐园那边&#xff0c;而且那时候&#xff0c;小孩比较小&#xff0c;主要的精力全部集中…

家乡旅游风景区介绍——茂名风景区网页设计HTML+CSS+JavaScript

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

你的态度,你的旅途风景

在天朝这个环境里面&#xff0c;有些东西你无法改变&#xff0c;譬如说央视... 其实央视有些东西还是挺不错的&#xff0c;譬如说&#xff0c; 它的广告... 央视有的广告做得还是挺不错的&#xff0c;譬如说&#xff0c;公益广告... 央视的广告中&#xff0c;对我印象最深的就是…

风景在路上

再过几个小时&#xff0c;就要参与2010级学生毕业设计的验收工作了。“产品”验收通过了&#xff0c;学生将进入写毕业设计说明书&#xff08;论文&#xff09;阶段。 在毕业设计环节&#xff0c;以前有过为一名学生从“Hello world”开始示范的经历&#xff0c;也有过黑着脸将…

1.4 俯瞰 Spring 风景线

1.4 俯瞰 Spring 风景线 要了解 Spring 的风景线&#xff0c;只需查看完整版 Spring Initializr web 表单上的大量复选框列表即可。它列出了 100 多个依赖项选择&#xff0c;所以我不会在这里全部列出或者提供一个屏幕截图。但我鼓励你们去看看。与此同时&#xff0c;我将提到一…

dell 720 安装系统

Dell r720远程控制设置与系统安装 首先开机&#xff0c;出现可以选择F2 Bios的画面&#xff0c;按下F2&#xff0c;等待进入Bios设置界面 进入Bios后选择iDRAC Setting 打开Network选项 往下拉&#xff0c;打开IPv4功能&#xff0c;关闭DHCP功能&#xff0c;并且设置静态IP。&…