opencv多边形区域外置黑
时间: 2023-09-16 20:13:01 浏览: 141
要在OpenCV中将多边形区域外部填充为黑色,可以使用cv2.fillPoly函数来创建多边形掩码,然后使用cv2.bitwise_not函数将其反转,最后使用cv2.bitwise_and函数将图像与掩码相乘,将多边形区域外部填充为黑色。
以下是示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('input.jpg')
# 定义多边形顶点
pts = np.array([[100, 100], [300, 100], [300, 300], [100, 300]], np.int32)
# 创建多边形掩码
mask = np.zeros_like(img)
cv2.fillPoly(mask, [pts], (255, 255, 255))
# 将掩码反转
mask_inv = cv2.bitwise_not(mask)
# 将图像与掩码相乘,将多边形区域外部填充为黑色
result = cv2.bitwise_and(img, mask_inv)
# 显示结果
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,img是输入图像,pts是多边形顶点,mask是多边形掩码,mask_inv是掩码的反转,result是输出结果。
阅读全文