Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用OpenCV旋转图像时指定背景色_Python_Image_Opencv_Cv2 - Fatal编程技术网

在Python中使用OpenCV旋转图像时指定背景色

在Python中使用OpenCV旋转图像时指定背景色,python,image,opencv,cv2,Python,Image,Opencv,Cv2,我尝试使用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在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应使用的颜色

我找到了一个用于PIL的but。

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

rotated_image = cv2.warpAffine(img, M, (cols, rows),
                           borderMode=cv2.BORDER_CONSTANT,
                           borderValue=(0,255,0))
参数borderMode可用于控制如何处理背景。您可以将其设置为cv2.BORDER_常量以使背景为纯色,然后使用参数borderValue选择颜色。例如,如果想要绿色背景,请使用

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