Updates docs/camera.md

Auto commit by GitBook Editor
This commit is contained in:
Oleg Kalachev
2018-01-09 21:42:47 +03:00
parent ed9f140cce
commit 7bb780fcbd

View File

@@ -12,12 +12,46 @@
sudo systemctl restart clever
```
Для мониторинга изображения с камеры возможно использовать rqt или [web_video_server](/docs/web_video_server.md).
Для мониторинга изображения с камеры можно использовать rqt или [web_video_server](/docs/web_video_server.md).
## Компьютерное зрение
Для реализации алгоритмов компьютерного зрения рекомендуется использовать предустановленную на [образ SD-карты](/docs/microsd_images.md) библиотеку OpenCV.
Для реализации алгоритмов компьютерного зрения рекомендуется использовать предустановленную на [образ SD-карты](/docs/microsd_images.md) библиотеку [OpenCV](https://opencv.org).
### Python
Для обработки изображений с камеры в [OpenCV](https://opencv.org) в Python необходимо создать подписчика
Основная статья: http://wiki.ros.org/cv_bridge/Tutorials/ConvertingBetweenROSImagesAndOpenCVImagesPython.
Пример создания подписчика на топик с изображением с основной камеры для обрабоки с использованием OpenCV:
```python
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()
```
Для отладки обработки изображения можно публиковать отдельный топик с обработанным изображением:
```python
image_pub = rospy.Publisher('~debug', Image)
```
Публикация обработанного изображения (в конце функции image_callback):
```python
image_pub.publish(bridge.cv2_to_imgmsg(cv_image, 'bgr8'))
```
Получаемые изображения можно просматривать используя [web_video_server](/docs/web_video_server.md).