多边形抠图 python
目录
多边形抠图 python
多边形贴图
多边形抠图 python
import cv2
import numpy as np
# 创建带多边形的图像,并将多边形以外的区域设置为0
def mask_polygon(image, poly_a):
# 获取多边形的外接矩形框
box1_x, box1_y, box1_w, box1_h = cv2.boundingRect(np.asarray(poly_a))
# 创建一个与原图像大小相同的掩码,初始值为黑色
mask = np.zeros(image.shape[:2], dtype=np.uint8)
# 填充多边形区域为白色 (255),其余区域为黑色 (0)
cv2.fillPoly(mask, [np.asarray(poly_a)], 255)
# 创建一个与图像相同大小的黑色背景
masked_image = np.zeros_like(image)
# 将原图像的多边形区域保留,其他区域设置为黑色
masked_image[mask == 255] = image[mask == 255]
result=masked_image[box1_y:box1_y+box1_h, box1_x:box1_x+box1_