Форум сайта python.su
Помогите пожалуйста найти на изображении прямоугольники и вывести их координаты. Знаю вроде можно это сделать с помощью opencv, но работающего примера найти не смогла, а сама написать и подавно.
Надеюсь только на вашу помощь, очень нужно!
P.S пробовала вот этот пример https://github.com/Itseez/opencv/blob/master/samples/python2/squares.py, вылезла ошибка ValueError: need more than 2 values to unpack
Отредактировано masha (Март 13, 2014 20:29:47)
Офлайн
пример изображения! пересекаються ли стороны прямоугольников с чем-либо?
Офлайн
terabayt Вот пример изображения http://firepic.org/images/2014-03/14/7wyofiy5risk.jpg
Я немного разобралсь, код находящийся по ссылке https://github.com/Itseez/opencv/blob/master/samples/python2/squares.py как выяснилось работает, просто нужно было удалить одну переменную.
Данный код находит прямоугольники, только теперь 1 проблема, я не знаю как его переделать, чтобы он выдавал мне координаты всех найденных прямоугольников.
Отредактировано masha (Март 14, 2014 19:52:01)
Офлайн
... if __name__ == '__main__': from glob import glob for fn in glob('./rm.jpg'): img = cv2.imread(fn) squares = find_squares(img) print squares # ------- координаты!!! cv2.drawContours( img, squares, -1, (0, 255, 0), 3 ) cv2.imshow('squares', img) ch = 0xFF & cv2.waitKey() if ch == 27: break cv2.destroyAllWindows()
Отредактировано terabayt (Март 16, 2014 22:56:05)
Офлайн
terabayt
Да проблема в том, что там координаты всех прямоугольников в перемешку даны и плюс, ещё в немного странном виде. То есть координаты множества точек границе объекта. А мне нужно из них как-то сделать координаты левого верхнего угла, правого верхнего, левого нижнего и правого нижнего.
Ещё непонятно, как посчитать количество найденных прямоугольников. Потому что в возвращаемом списке координаты одних и тех-же прямоугольников даны по несколько раз.
Отредактировано masha (Март 17, 2014 17:46:27)
Офлайн