docs: add example on retrieving one camera frame

This commit is contained in:
Oleg Kalachev
2020-04-09 15:32:35 +03:00
parent 2a62891d60
commit 33f4601fdc
2 changed files with 36 additions and 0 deletions

View File

@@ -88,6 +88,24 @@ image_pub.publish(bridge.cv2_to_imgmsg(cv_image, 'bgr8'))
The obtained images can be viewed using [web_video_server](web_video_server.md).
#### Retrieving one frame
It's possibly to retrieve one camera frame at a time. This method works slower than normal topic subscribing and should not be used when it's necessary to process camera images continuously.
```python
import rospy
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
rospy.init_node('computer_vision_sample')
bridge = CvBridge()
# ...
# Retrieve a frame:
img = bridge.imgmsg_to_cv2(rospy.wait_for_message('main_camera/image_raw', Image), 'bgr8')
```
### Examples
#### Working with QR codes

View File

@@ -92,6 +92,24 @@ image_pub.publish(bridge.cv2_to_imgmsg(cv_image, 'bgr8'))
> **Warning** По умолчанию web_video_server показывает изображения из топиков со сжатием (например, /main_camera/image_raw/compressed). Ноды на Python не публикуют такие топики, поэтому для их просмотра следует добавлять `&type=mjpeg` в адресную стоку страницы web_video_server или изменить параметр `default_stream_type` на `mjpeg` в файле `clever.launch`.
#### Получение одного кадра
Существует возможность единоразового получения кадра с камеры. Этот способ работает медленнее, чем подписка на топик; его не следует применять в случае необходимости постоянной обработки изображений.
```python
import rospy
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
rospy.init_node('computer_vision_sample')
bridge = CvBridge()
# ...
# Получение кадра:
img = bridge.imgmsg_to_cv2(rospy.wait_for_message('main_camera/image_raw', Image), 'bgr8')
```
### Примеры
#### Работа с QR-кодами