Files
clover/docs/camera.md
Oleg Kalachev 7bb780fcbd Updates docs/camera.md
Auto commit by GitBook Editor
2018-01-09 21:42:47 +03:00

2.2 KiB
Raw Blame History

Работа с камерой

Для работы с основной камерой необходимо убедиться что она включена в файле ~/catkin_ws/src/clever/clever/launch/clever.launch:

<arg name="main_camera" default="true"/>

При изменении launch-файла необходимо перезапустить пакет clever:

sudo systemctl restart clever

Для мониторинга изображения с камеры можно использовать rqt или web_video_server.

Компьютерное зрение

Для реализации алгоритмов компьютерного зрения рекомендуется использовать предустановленную на образ SD-карты библиотеку OpenCV.

Python

Основная статья: http://wiki.ros.org/cv_bridge/Tutorials/ConvertingBetweenROSImagesAndOpenCVImagesPython.

Пример создания подписчика на топик с изображением с основной камеры для обрабоки с использованием OpenCV:

import rospy
import cv2
from sensor_msgs.msg import Image
from cv_bridge import CvBridge

rospy.init_node('computer_vision_sample')
bridge = CvBridge()

def image_callback(self, data):
    cv_image = self.bridge.imgmsg_to_cv2(data, 'bgr8')  # OpenCV image
    # Do any image processing with cv2...

image_sub = rospy.Subscriber('main_camera/image_raw', Image, image_callback)

rospy.spin()

Для отладки обработки изображения можно публиковать отдельный топик с обработанным изображением:

image_pub = rospy.Publisher('~debug', Image)

Публикация обработанного изображения (в конце функции image_callback):

image_pub.publish(bridge.cv2_to_imgmsg(cv_image, 'bgr8'))

Получаемые изображения можно просматривать используя web_video_server.