使用 OpenCV 添加(混合)两个图像

这篇具有很好参考价值的文章主要介绍了使用 OpenCV 添加(混合)两个图像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标

在本教程中,您将学习:

  • 什么是线性混合以及为什么它有用;
  • 如何使用 addWeighted() 添加两个图像

理论

  • 注意

    下面的解释属于Richard Szeliski的《计算机视觉:算法和应用》一书

从我们之前的教程中,我们已经知道了一些像素运算符。一个有趣的二元(双输入)算子是线性混合算子

[g(x) = (1 - \alpha)f_{0}(x) + \alpha f_{1}(x)]

通过改变 \(\alpha\) 从 \(0 \rightarrow 1\) 开始,此运算符可用于在两个图像或视频之间执行时间交叉融合,如幻灯片放映和电影制作中所示(很酷,嗯?

源代码 C++爪哇岛蟒

从此处下载源代码。

#include“opencv2/imgcodecs.hpp”

#include“opencv2/highgui.hpp”

#include < iostream>

使用命名空间 CV;

我们在这里不是“使用命名空间 std”,以避免 c++17 中 beta 变量和 std::beta 之间的冲突

使用 std::cin;

使用 std::cout;

使用 std::endl;

int main( 无效 )

{

双阿尔法 = 0.5;双贝塔;双输入;

垫子 src1, src2, dst;

cout << “Simple Linear Blender” << endl;

cout << “-----------------------” << endl;

cout << “* 输入 alpha [0.0-1.0]: ”;

cin >>输入;

如果 alpha 介于 0 和 1 之间,我们使用用户提供的 alpha

if( 输入 >= 0 && 输入 <= 1 )

{ alpha = 输入;

src1 = imread( samples::findFile(“LinuxLogo.jpg”) );

src2 = imread( samples::findFile(“WindowsLogo.jpg”) );

if( src1.empty() ) { cout << “加载 src1 时出错” << endl;返回EXIT_FAILURE;}

if( src2.empty() ) { cout << “加载 src2 时出错” << endl;返回EXIT_FAILURE;}

贝塔 = ( 1.0 - 阿尔法 );

addWeighted( src1, alpha, src2, beta, 0.0, dst);

imshow( “线性混合”, dst );

waitKey(0);

返回 0;

}

解释 C++爪哇岛蟒

由于我们将要执行:

[g(x) = (1 - \alpha)f_{0}(x) + \alpha f_{1}(x)]

我们需要两个源图像(\(f_{0}(x)\)和\(f_{1}(x)\))。因此,我们以通常的方式加载它们:

src1 = imread( samples::findFile(“LinuxLogo.jpg”) );

src2 = imread( samples::findFile(“WindowsLogo.jpg”) );

我们使用了以下图像:LinuxLogo.jpg和WindowsLogo.jpg

  • 警告

    由于我们要添加 src1 和 src2,因此它们的大小(宽度和高度)和类型必须相同。

现在我们需要生成图像。为此,函数 addWeighted() 非常方便:g(x)

贝塔 = ( 1.0 - 阿尔法 );

addWeighted( src1, alpha, src2, beta, 0.0, dst);

因为 addWeighted() 产生:

dst=α⋅src1+β⋅src2+γ

在本例中,是上述代码中的参数 0.0。gamma0.0

创建窗口,显示图像并等待用户结束程序。

imshow( “线性混合”, dst );

waitKey(0);

结果

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

在线教程

  • 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
  • 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
  • EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
  • 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
  • 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
  • 机器学习 – 有指导和无指导情况下的基本机器学习算法
  • 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
  • 斯坦福统计学习
    有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
    使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

人工智能书籍

  • OpenCV(中文版).(布拉德斯基等)
  • OpenCV+3计算机视觉++Python语言实现+第二版
  • OpenCV3编程入门 毛星云编著
  • 数字图像处理_第三版
  • 人工智能:一种现代的方法
  • 深度学习面试宝典
  • 深度学习之PyTorch物体检测实战
  • 吴恩达DeepLearning.ai中文版笔记
  • 计算机视觉中的多视图几何
  • PyTorch-官方推荐教程-英文版
  • 《神经网络与深度学习》(邱锡鹏-20191121)

  • 使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

第一阶段:零基础入门(3-6个月)

新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

第二阶段:基础进阶(3-6个月)

熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

第三阶段:工作应用

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。

有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉

使用 OpenCV 添加(混合)两个图像,opencv,人工智能,计算机视觉文章来源地址https://www.toymoban.com/news/detail-829811.html

到了这里,关于使用 OpenCV 添加(混合)两个图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV实现图像的混合

    图像混合是一种将两个图像融合为一个的技术,通过调整两个图像的权重和亮度等参数,可以实现不同程度的混合效果。在OpenCV中,可以使用addWeighted函数来实现图像混合操作。下面将介绍图像混合的原理及注意事项。 原理: 图像混合的原理是利用线性加权的方式将两个图像

    2024年02月09日
    浏览(34)
  • OpenCV 图像叠加、混合

            本文是OpenCV图像视觉入门之路的第9篇文章,本文详细的在图像上面进行了图像叠加图像混合等操作。 OpenCV 图像叠加、混合目录 1 图像叠加 2  图像混合         图片叠加一般加入水印用的特别多,比如视频网站、图片素材网等等         图像的混合:将两

    2024年02月11日
    浏览(40)
  • Python Opencv实践 - 图像混合

               

    2024年02月13日
    浏览(54)
  • python使用opencv对图像添加(高斯/椒盐/泊松/斑点)噪声

    导读 这篇文章主要介绍如何利用opencv来对图像添加各类噪声,原图 高斯噪声 高斯噪声就是给图片添加一个服从 高斯分布的噪声 ,可以通过调节高斯分布 标准差(sigma) 的大小来控制添加噪声程度, sigma 越大添加的噪声越多图片损坏的越厉害 椒盐噪声 椒盐噪声就是给图片添

    2024年02月15日
    浏览(59)
  • 用OpenCV实现创建一个新的图像并排显示左右两个输入图像

    创建一个并排显示左右两个输入图像程序的关键在于正确地使用 OpenCV 的 cv::Mat 类和图像处理函数。 下面是一个简单的示例代码,展示了如何实现这个功能。 这段代码假设你已经有了两个图像文件(左图和右图),并将它们并排显示在一个窗口中。 请确保在您的系统上安装

    2024年01月18日
    浏览(53)
  • OpenCV为图像添加边框

    在本教程中,您将学习如何: 使用 OpenCV 函数 copyMakeBorder() 设置边框(为图像添加额外填充)。 注意 下面的解释属于 Bradski 和 Kaehler 所著的《 Learning OpenCV 》一书。 在之前的教程中,我们学习了使用卷积对图像进行操作。自然而然出现的一个问题是如何处理边界。如果评

    2024年02月21日
    浏览(39)
  • 【OpenCV】学习课-图像添加文字(3)!

    cv2.putText(img1, text, pos, font, fontScale, color) ##添加文字 参数 img1:绘制文本的图像 text:要绘制的文本字符串 pos:绘制的图片位置 font:字体类型 fontScale:字体比例因子乘以font-specific基本大小 color:颜色 输出:  该函数并不能添加中文字体,那我们来看下怎么添加中文文字。

    2024年02月04日
    浏览(42)
  • Python|OpenCV-如何给目标图像添加边框(7)

    前言 本文是该专栏的第7篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用opencv处理图像的时候,会不可避免的对图像的一些具体区域进行一些操作。比如说,想要给目标图像创建一个围绕图像的边框。简单的来说,就是在图片的周围再填充一个粗线框。具

    2024年02月07日
    浏览(42)
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果

    目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果 一、简单介绍 二、简单给视频添加水印图片效果实现原理 三、简单给视频添加水印图片效果案例实现简单步骤 四、注意事项 Python是一种跨平台的计算机程序设计语

    2024年04月25日
    浏览(74)
  • 【OpenCV】图像上绘制文字cv2.putText()函数用法,添加倾斜透明水印

    在OpenCV中,调用cv2.putText()函数可添加文字到指定位置,对于需要在图片中加入文字的场景提供了一种比较直接方便的方式。 注意:OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号) 其函数原型如下所示: 上述参数分别

    2024年02月04日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包