趣味应用 | 用OpenCV自动给图片添加彩虹特效---平淡的生活需要技术的点缀

Posted Color Space

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了趣味应用 | 用OpenCV自动给图片添加彩虹特效---平淡的生活需要技术的点缀相关的知识,希望对你有一定的参考价值。

点击下方卡片,关注“OpenCV与AI深度学习”公众号!

视觉/图像重磅干货,第一时间送达!

导读

本文主要介绍如何使用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);

换几张图片测试:

视频测试:

—THE END—

CV相关内容讨论交流欢迎加入微信交流群:

以上是关于趣味应用 | 用OpenCV自动给图片添加彩虹特效---平淡的生活需要技术的点缀的主要内容,如果未能解决你的问题,请参考以下文章

万彩动画大师教程 | 给文字及图片添加打斗特效的动画效果

Python使用OpenCV设置图片尺寸!!

Emlog给网站图片添加抖动特效教程

opencv 我想给分割出来的数字二值化图片去噪。请问可以用啥方式?

关于opencv对图片添加水印

PPT怎么加特效?