OpenCV自动给图片添加彩虹特效的实现示例

 更新时间:2021年11月22日 10:53:03   作者:Color Space  
图像处理的学习往往都是要先熟悉下图像的一些基本处理方法,本文主要介绍了OpenCV自动给图片添加彩虹特效的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

背景介绍

南方的冬季总是淅淅沥沥下着小雨,晴天渐渐成为奢望。此时,我多么希望感受一下夏季的温暖,哪怕是雨天,偶尔还会看到彩虹!想到这便动起手来,找找夏季的照片和视频,用OpenCV给它们加上漫天彩虹。

 实现步骤

【1】准备一张夏季风景图片,加载读取

Mat src = imread("summer.jpg");

图片

【2】创建一张与原图同样大小的黑图,然后通过画椭圆函数绘制彩虹

Mat dst;
int row = srcImg.rows;
int col = srcImg.cols;
Mat img(row, col, CV_8UC3, Scalar::all(0));
  
ellipse(img, Point(col/2, row*4/5), Size(col/2+100, row*4/5), 180, 0, 180, Scalar(255,0,128), 5);
ellipse(img, Point(col/2,row*4/5), Size(col/2-8+100,row*4/5-8), 180, 0, 180, Scalar(255,0,0), 5);
ellipse(img, Point(col/2,row*4/5), Size(col/2-8*2+100,row*4/5-8*2), 180, 0, 180, Scalar(255,255,0), 5);
ellipse(img, Point(col/2,row*4/5), Size(col/2-8*3+100,row*4/5-8*3), 180, 0, 180, Scalar(0,255,0), 5);
ellipse(img, Point(col/2,row*4/5), Size(col/2-8*4+100,row*4/5-8*4), 180, 0, 180, Scalar(0,255,255), 5);
ellipse(img, Point(col/2,row*4/5), Size(col/2-8*5+100,row*4/5-8*5), 180, 0, 180, Scalar(0,128,255), 5);
ellipse(img, Point(col/2,row*4/5), Size(col/2-8*6+100,row*4/5-8*6), 180, 0, 180, Scalar(0,0,255), 5);

图片

【3】高斯模糊,让彩虹边缘更柔和过渡

GaussianBlur(img, img, Size(7, 7), 0, 0);

图片

【4】彩虹图像与风景图混合叠加(使用泊松融合效果更佳)

addWeighted(srcImg, 1.0, img, 0.2, 0, dst);

图片

换几张图片测试:

图片

图片

图片

图片

到此这篇关于OpenCV自动给图片添加彩虹特效的实现示例的文章就介绍到这了,更多相关OpenCV自动给图片添加彩虹内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入理解numpy广播机制

    深入理解numpy广播机制

    广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式,本文深入理解numpy广播机制,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Python读取mat(matlab数据文件)并实现画图

    Python读取mat(matlab数据文件)并实现画图

    这篇文章主要介绍了Python读取mat(matlab数据文件)并实现画图问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • pandas组内排序,并在每个分组内按序打上序号的操作

    pandas组内排序,并在每个分组内按序打上序号的操作

    这篇文章主要介绍了pandas组内排序,并在每个分组内按序打上序号的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python sys模块使用方法介绍

    python sys模块使用方法介绍

    sys模块是最常用的和python解释器交互的模块,sys模块可供访问由解释器(interpreter)使用或维护的变量和与解释器进行交互的函数,需要的朋友可以参考下
    2022-08-08
  • PyQt5实现简易电子词典

    PyQt5实现简易电子词典

    这篇文章主要为大家详细介绍了PyQt5实现简易电子词典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Python中函数的创建与调用你了解吗

    Python中函数的创建与调用你了解吗

    这篇文章主要为大家详细介绍了Python中函数的创建与调用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 关于Python自动化操作Excel

    关于Python自动化操作Excel

    这篇文章主要介绍了关于Python自动化操作Excel, Python 是一种功能强大的编程语言,可以用于许多任务,包括处理 Excel 文件,需要的朋友可以参考下
    2023-04-04
  • 利用python库在局域网内传输文件的方法

    利用python库在局域网内传输文件的方法

    今天小编就为大家分享一篇利用python库在局域网内传输文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 解决django xadmin主题不显示和只显示bootstrap2的问题

    解决django xadmin主题不显示和只显示bootstrap2的问题

    这篇文章主要介绍了解决django xadmin主题不显示和只显示bootstrap2的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python3中对range()逆序的解释

    Python3中对range()逆序的解释

    这篇文章主要介绍了Python3中对range()逆序的解释,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论