2016-06-29 4 views
0

Я хотел бы найти приблизительно объект на моей карте глубины. На данный момент мой процесс заключается в следующем: 1. Нормализации глубины 2. Порога, чтобы получить только ближайший объект 3. Гауссово размывание 4. Осторожного края обнаружения 5. Контур обнаруженияОбнаружение приблизительно объектов на карте глубины

Однако, я m не может найти окно вокруг моего объекта. На самом деле, я не знаю, возможно ли это с такой картой глубины ...

У меня есть три объекта на столе: коробка с едой и две кружки.

Normalisation of the depth map

Я хотел бы найти приблизительно рамку вокруг моего объекта.

enter image description here

Есть ли способ сделать это только с помощью обработки изображений? Любая помощь будет оценена по достоинству.

спасибо, что заранее.

ответ

1

Вы можете сделать это с помощью OpenCV. Посмотрите на следующее решение.

Я использовал карту глубины, представленную в вопросе, как мое входное изображение. Я выполнил двоичный порог серой шкалы изображения карты глубины

ret,th = cv2.threshold(gray,127,255, 1) 

и получил следующее:

enter image description here

Теперь для того, чтобы заполнить пробелы в изображении, я выполнил морфологическое близко операция

kernel = np.ones((15,15),np.uint8) 
dilate = cv2.morphologyEx(th, cv2.MORPH_CLOSE, kernel, 3) 

enter image description here

Тогда я нашел контуры с помощью:

contours,hierarchy = cv2.findContours(dilate,2,1) 

и обратил их с помощью:

cv2.drawContours(img, contours, -1, (0,255,0), 3) 

наконец получил это:

enter image description here

Надеется, что это то, что вы искали :)

Смежные вопросы