多边形抠图 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_