下面我将详细讲解 "OpenCV之为图像添加边界的方法示例" 的完整攻略,其中包含两个示例说明。
一、为图像添加边界的基本概念
在OpenCV中,为图像添加边界有时是必须的操作。这些边界被称为图像填充,它们可以在图像周围添加一些额外的像素。填充通常用于在卷积和其他图像处理操作中保留图像边缘上的信息。
为图像添加边界时,我们需要指定填充的像素行数和列数,并且我们必须选择要用哪一种填充方式,比如用灰度值、复制边缘或对称填充等方式。
在OpenCV中,我们可以使用 copyMakeBorder()
函数来为图像添加边界。接下来,我们将演示两个示例,以帮助您更好地理解 copyMakeBorder()
函数。
二、示例一:在图像周围添加黑色边框
import cv2
import numpy as np
# 加载原始图像
img = cv2.imread('input.png')
# 定义填充像素的行数和列数
top, bottom, left, right = 10, 10, 10, 10
# 定义填充方式(黑色填充)
value = [0, 0, 0]
# 使用 copyMakeBorder() 函数为原始图像添加黑色边框
border_img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value)
# 显示原始图像和添加边框后的图像
cv2.imshow("Original", img)
cv2.imshow("Border", border_img)
cv2.waitKey(0)
解释:在上述示例中,我们使用 copyMakeBorder()
函数为原始图像添加黑色边框。填充像素的行数和列数设置为10, 10, 10, 10。在此示例中,我们使用的是常量值填充,填充的颜色为黑色,使用 cv2.BORDER_CONSTANT
参数指定填充类型。最终,我们使用 cv2.imshow()
函数将原始图像和添加边框后的图像进行展示。
三、示例二:在图像周围添加重复边缘
import cv2
import numpy as np
# 加载原始图像
img = cv2.imread('input.png')
# 定义填充像素的行数和列数
top, bottom, left, right = 50, 50, 50, 50
# 使用 copyMakeBorder() 函数为原始图像添加重复边缘
border_img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_REPLICATE)
# 显示原始图像和添加边缘后的图像
cv2.imshow("Original", img)
cv2.imshow("Border", border_img)
cv2.waitKey(0)
解释:在上述示例中,我们使用 copyMakeBorder()
函数为原始图像添加重复边缘。填充像素的行数和列数设置为50, 50, 50, 50。在此示例中,我们使用的是边缘复制填充,使用 cv2.BORDER_REPLICATE
参数指定填充类型。最终,我们使用 cv2.imshow()
函数将原始图像和添加边框后的图像进行展示。
四、总结
在本文中,我们介绍了为图像添加边界的基本概念和 copyMakeBorder()
函数的用法。我们还演示了两个示例,以帮助您更好地理解如何为图像添加边界。您可以选择不同的填充方式(比如黑色或边缘复制),以保留图像周围的信息。如果您想了解更多有关OpenCV的内容,请浏览我们的网站。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:opencv之为图像添加边界的方法示例 - Python技术站