我正在使用OpenCV和Python。我试图在轮廓内画出最长的直线。
我有一个名为cnt
的轮廓。图像是二进制的,轮廓内部是白色,外部是黑色。我想画出白色轮廓内最长的直线。我找到了如何使用cv2.lines
绘制线条,但我没有找到如何绘制最长的线条。你有什么想法?最好的方法是能够生成轮廓内的所有直线,然后找到最长的直线。
img_copy = cv2.dilate(copy.deepcopy(img),np.ones((2,2),np.uint8),iterations = 2)
contours, hierarchy = cv2.findContours(copy.deepcopy(img_copy),cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
areas = [cv2.contourArea(c) for c in contours]
max_index = np.argmax(areas)
cnt = contours[max_index]