mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-27 05:29:32 +00:00
Updates docs/camera.md
Auto commit by GitBook Editor
This commit is contained in:
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user