当前位置: 首页 > 工具软件 > Webots > 使用案例 >

webots 摄像头opencv(python)获得图像

汝宏伯
2023-12-01

来源Webots 视觉跟踪示例github
我改了点,写个备份免得以后忘了

from controller import Robot
import cv2
import numpy as np

def get_image_from_camera(webots_camera):
    """
    Take an image from the camera device and prepare it for OpenCV processing:
    - convert data type,
    - convert to RGB format (from BGRA), and
    - rotate & flip to match the actual image.
    """
    img = webots_camera.getImageArray()
    img = np.asarray(img, dtype=np.uint8)
    img = cv2.cvtColor(img, cv2.COLOR_BGRA2RGB)
    img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE) #用于旋转,看你webot的视角了
    return cv2.flip(img, 1) # 最后又进行了翻转

#初始化你定义的设备
camera_left = robot.getDevice('CameraLeft')
camera_left.enable(timestep)

while robot.step(timestep) != -1:


    left_img = get_image_from_camera(camera_left)
    cv2.imshow("lena", left_img)
    cv2.waitKey(100)

 类似资料: