首页 > 解决方案 > 如何通过在python中添加白色透明像素将图像增加到特定大小(最好使用opencv)

问题描述

例如:原始图像的尺寸 = 1080x720x4(蓝色、绿色、红色和 alpha 通道中的 4)所需尺寸 = 1920x1080x4 我希望在边框中添加白色透明像素(255,255,255,0),直到达到所需尺寸。

也许有 numpy 功能可以帮助解决这个问题?

标签: pythonimagenumpyopencvimage-processing

解决方案


使用 Python/OpenCV 的一种方法是使用 @ Quang Hoang 建议的 copyMakeBorder。

输入(100x116):

在此处输入图像描述

import cv2

# read image
img = cv2.imread("A.png", cv2.IMREAD_UNCHANGED)

img2 = cv2.copyMakeBorder(img, 50,50,50,50, borderType=cv2.BORDER_CONSTANT, value=(255,255,255,0))

cv2.imwrite("A_border.png", img2)

cv2.imshow("img2", img2)
cv2.waitKey(0)

结果(200x2016):

在此处输入图像描述


推荐阅读