多边形抠图 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_
原文地址:https://blog.csdn.net/jacke121/article/details/142407060
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!