从迂腐的角度来说,您不能删除图像的任何部分,除了两边的条纹,以减少它的宽度或高度。对于看起来像“去除角落部分”,您可以在该角落部分上绘制一个背景色三角形。在这里,假设您想要的背景颜色是白色:
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