OpenCV Python如何为图像添加边框?
OpenCV 提供了函数 cv2.copyMakeBorder() 用于在图像中添加边框。要为图像添加边框,可以按照以下步骤进行:
- 第一步是导入所需的库。在下面的Python示例中,所需的Python库是 OpenCV 。确保您已经安装了它。
-
下一步是使用 cv2.imread() 函数读取输入图像。指定包含图像类型(.jpg或.png)的完整图像路径。
-
指定不同的参数给 cv2.copyMakeBorder() 函数。要指定的不同参数是 src、dst、top、bottom、left、right、borderType 和 value 。
-
调用 cv2.copyMakeBorder() 函数并传递上面指定的参数以向输入图像添加边框。
img1 = cv2.copyMakeBorder(src, top, bottom, left, right, borderType,dst,value)
- 显示带边框的输出图像。
让我们借助一些Python示例来了解如何使用OpenCV Python添加边框到图像。
我们将使用这张图片作为以下示例中的 输入文件 。
示例
在这个Python程序中,我们为不同的边添加不同大小的边框- top、bottom、left、right 。我们应用了边框类型 cv2.BORDER_CONSTANT 。
# 导入所需的库
import cv2
# 读取输入图像
img = cv2.imread('building.jpg')
# 设置不同的参数
src = img
dst = None
top, bottom, left, right = 50, 100, 130, 200
borderType = cv2.BORDER_CONSTANT
value=[255, 255, 0]
# 用上述参数添加边框
img1 = cv2.copyMakeBorder(src, top, bottom, left, right,
borderType,dst,value)
# 显示带边框的图像
cv2.imshow("Image with Borders", img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出
当您运行以上程序时,它将产生以下 输出 窗口。
我们为输入图像添加了边框(像素) top=50、bottom=100、left=130 和 right=200 。
示例
在此示例中,我们为不同的边添加不同大小的边框- top、bottom、left、right 。我们应用了边框类型 cv2.BORDER_REPLICATE 。
#导入所需的库
导入 cv2
#读取输入图像
img = cv2.imread('building.jpg')
src = img
dst = None
top, bottom, left, right = 50, 50, 100, 100
borderType = cv2.BORDER_REPLICATE
#添加边框
img1 = cv2.copyMakeBorder(src, top, bottom, left, right, borderType,dst)
cv2.imshow("Image with Borders", img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出
当您运行上述程序时,它将产生以下 输出 窗口ŌłÆ
我们为输入图像添加了边框,边框大小(像素为单位)为 top=50,bottom=100,left=130, 和 right=200。
请注意上述两个示例中使用的边框类型之间的差异。