基于OpenCV的图像融合

OpenCV实践-基于OpenCV的图像融合

–《小白学视觉》学习笔记

我们可以尝试多种不同图像组合。 比如可以将两张不同的图片或文本图像与图像组合在一起, 或将彩色背景与圈像组合在一起。 我将把文本图像与漂亮的背景图像混合在一起。 让我们先来看看这两个图像:
基于OpenCV的图像融合_第1张图片

  1. 导入图像
import cv2 as cv
bg=cv.imread('OIP-C.jfif',cv.IMREAD_COLOR)
fg=cv.imread('R-C.jfif',cv.IMREAD_COLOR)
  1. 调整大小
print('背景图片的大小{},前景图片的大小{}'.format(bg.shape,fg.shape))
dim=(1200,800)
resized_bg=cv.resize(bg,dim,interpolation=cv.INTER_AREA)
resized_fg=cv.resize(fg,dim,interpolation=cv.INTER_AREA)
print('调整后背景图片的大小{},调整后前景图片的大小{}'.format(resized_bg.shape,resized_fg.shape))

在此步骤中, 我们将调整要混合的图像的大小。 此步骤也可以称为预处理圈像。 我们先 调整图像大小, 以确保它们的尺寸相同。 要使融合能够正常进行, 需要使用相同的大小 图像。否则, 它将返回错误消息。

  1. 混合图像

有了OpenCV, 我们可以用一行代码来完成这项工作。 将为我们完成混合的功能称为 addWeighted。它有5个参数, 可以列出为:图像源1, src 1权重, 图像源2, src2权重, 伽玛。 每个图像的权重值必须小于1。 这是混合方程式:
blend = (image scr1)(src1 weight) + (image scr2)(src2 weight) + gamma
这是函数的数学原理。 让我们看看实际清况:

blend=cv.addWeighted(resized_bg,0.5,resized_fg,0.8,0.0)

现在, 让我们使用imwrite方法导出最终作品。 这是将图像另存为文件夹中的新图像文件的行。

cv.imwrite('blended.png',blend)

你可能感兴趣的:(笔记,opencv,深度学习,人工智能)