python opencv 图像边框(填充)添加及图像混合的实现

1. 图像边框(填充)添加

图像边框是指在图像周围添加一个边框,可以使用 OpenCV 的 cv2.copyMakeBorder() 函数来实现。该函数接受以下参数:

src:输入图像

top, bottom, left, right:边框的上、下、左、右宽度

borderType:边框类型,如 cv2.BORDER_CONSTANT(使用常数填充边框)

value:常数填充值,当 borderType 为 cv2.BORDER_CONSTANT 时生效

下面是一个示例,展示如何在一张图像的周围添加一个红色的边框:

import cv2

import numpy as np

image = cv2.imread('image.jpg')

# 定义边框宽度和颜色

top, bottom, left, right = 10, 10, 10, 10

border_color = (0, 0, 255) # 红色

# 添加边框

image_with_border = cv2.copyMakeBorder(image, top, bottom, left, right, cv2.BORDER_CONSTANT, value=border_color)

cv2.imwrite('image_with_border.jpg', image_with_border)

这段代码将在名为 image.jpg 的图像周围添加 10 像素宽度的红色边框,并保存为 image_with_border.jpg。

2. 图像混合

图像混合是指将两张图像按照一定的比例进行融合,可以使用 OpenCV 的 cv2.addWeighted() 函数来实现。该函数接受以下参数:

src1:第一张输入图像

alpha:第一张图像的权重

src2:第二张输入图像

beta:第二张图像的权重

gamma:加到每个加权和上的标量

下面是一个示例,展示如何将两张图像按照0.6:0.4的比例进行混合:

import cv2

image1 = cv2.imread('image1.jpg')

image2 = cv2.imread('image2.jpg')

# 图像混合

blended_image = cv2.addWeighted(image1, 0.6, image2, 0.4, 0)

cv2.imwrite('blended_image.jpg', blended_image)

这段代码将将 image1.jpg 和 image2.jpg 按照0.6:0.4的比例进行混合,并保存为 blended_image.jpg。

3. 总结

本文介绍了如何使用 OpenCV 实现图像边框添加和图像混合。对于图像边框添加,可以使用 cv2.copyMakeBorder() 函数来在图像周围添加边框。对于图像混合,可以使用 cv2.addWeighted() 函数来将两张图像按指定的权重进行混合。通过使用这两个函数,我们可以对图像进行一些简单的修饰和处理。

以上代码中的参数如边框宽度和混合比例等可以根据实际需求进行调整,这些参数的变化会影响最终的效果。通过不同的参数组合,我们可以实现更多样化的图像处理效果。

后端开发标签