答案 0 :(得分:1)
迂腐地说,你不能删除图像的任何部分,除了两边的条纹,减少它的宽度或高度。对于看起来像“移除角落部分”的内容,您可以在该角落部分上绘制背景色三角形。在这里,假设您想要的背景颜色为白色:
import cv2
import numpy
img = cv2.imread("zebra.jpg")
triangle = numpy.array([[300, 0], [399, 0], [399, 100]])
color = [255, 255, 255] #white
cv2.fillConvexPoly(img, triangle, color)
cv2.imwrite("with_triangle.jpg", img)
出于某些目的(混合,插入背景未知的网页等),您可能想要使用支持alpha透明度的图像格式(在您的示例中,您使用的是jpeg,但不是)并将alpha通道设置为零:
import cv2
import numpy
img = cv2.imread("zebra.jpg")
img = cv2.cvtColor(img, cv2.COLOR_BGR2BGRA) #convert to 4-channel image
triangle = numpy.array([[300, 0], [399, 0], [399, 100]])
color = [255, 255, 255, 0] #white with zero alpha
cv2.fillConvexPoly(img, triangle, color)
cv2.imwrite("with_triangle.png", img) #save to PNG for transparency support
答案 1 :(得分:0)