可以通过使用 opencv 库中的函数 findContours() 和 isContourConvex() 来判断一个形状是否为凸形。如果一个形状不是凸形,则可以认为它是凹形。
示例代码如下:
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
contours, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours: if not cv2.isContourConvex(cnt): print('This contour is concave!')