Я работаю над проектом компьютерного зрения, и я хотел бы кое-что у вас спросить.Я использую cv2.findContours()
метод тогда approxPolyDP()
, и у меня есть 4-4 обнаруженных края для каждой формы.Есть три прямоугольника на картинке рядом друг с другом.Проблема в том, что я хотел бы отсортировать список по первым координатам x, y.Слева направо.
Спасибо!
contours, _ = cv2.findContours(raw_image2, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
contour_list = []
for contour in contours:
approx= cv2.approxPolyDP(contour,0.1*cv2.arcLength(contour,True),True)
contur_list.append(approx)
[array([[[383, 22]],
[[384, 127]],
[[492, 127]],
[[491, 20]]], dtype=int32), array([[[ 54, 16]],
[[ 52, 123]],
[[160, 124]],
[[160, 17]]], dtype=int32), array([[[222, 14]],
[[220, 124]],
[[328, 125]],
[[328, 15]]], dtype=int32)]
Это не отсортированный вывод, но я хочу быть таким:
[array([[[ 54, 16]],
[[ 52, 123]],
[[160, 124]],
[[160, 17]]],dtype=int32), array([[[222, 14]],
[[220, 124]],
[[328, 125]],
[[328, 15]]], dtype=int32), array([[[383, 22]],
[[384, 127]],
[[492, 127]],
[[491, 20]]], dtype=int32)]