# coding=utf-8 import numpy as np import cv2 from PIL import Image image = cv2.imread("d:/11.jpeg") b = np.array([[100,100], [250,100], [300,220],[100,230]], dtype = np.int32) roi_t = [] for i in range(4): roi_t.append(b[i]) roi_t = np.asarray(roi_t) roi_t = np.expand_dims(roi_t, axis=0) im = np.zeros(image.shape[:2], dtype = "uint8") cv2.polylines(im, roi_t, 1, 255) cv2.fillPoly(im, roi_t, 255) mask = im cv2.imshow("Mask", mask) masked = cv2.bitwise_and(image, image, mask=mask) cv2.imshow("Mask to Image", masked) imp = Image.fromarray(image) array = np.zeros((masked.shape[0], masked.shape[1], 4), np.uint8) array[:, :, 0:3] = masked array[:, :, 3] = 0 array[:,:,3][np.where(array[:,:,0]>2)]=255 array[:,:,3][np.where(array[:,:,1]>2)]=255 array[:,:,3][np.where(array[:,:,2]>2)]=255 print(array.max()) image_1 = Image.fromarray(array) image_1.save("222.png","PNG")
python多边形裁剪
猜你喜欢
转载自blog.csdn.net/jacke121/article/details/80441549
今日推荐
周排行