【问题标题】:Specify background color when rotating an image using OpenCV in Python在 Python 中使用 OpenCV 旋转图像时指定背景颜色
【发布时间】:2019-04-06 00:03:06
【问题描述】:

我正在尝试使用 OpenCV 使用以下代码在 Python 中旋转图像:

import cv2

img = cv2.imread("image.png")

rows = img.shape[0]
cols = img.shape[1]

img_center = (cols / 2, rows / 2)
M = cv2.getRotationMatrix2D(img_center, 45, 1)

rotated_image = cv2.warpAffine(img, M, (cols, rows))

代码正常运行,但图像不再可见的背景变为黑色。我希望背景是白色的,因此我想知道是否可以指定 OpenCV 在旋转时应该使用的颜色。

我找到了similar question,但找到了PIL

【问题讨论】:

    标签: python image opencv cv2


    【解决方案1】:

    warpAffine 参数borderMode 可用于控制如何处理背景。您可以将其设置为cv2.BORDER_CONSTANT 以使背景成为纯色,然后使用参数borderValue 选择颜色。例如,如果您想要绿色背景,请使用

    rotated_image = cv2.warpAffine(img, M, (cols, rows),
                               borderMode=cv2.BORDER_CONSTANT,
                               borderValue=(0,255,0))
    

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 2015-11-07
      相关资源
      最近更新 更多