一、opencv显示zed2相机图片
描述:使用opencv显示相机的左右摄像头获取的图片,并实现按键保存图片,我的目的是用于采集左右摄像头包含标定板的图片,最终验证标定准确性。
import cv2
import os
import sys
import numpy as np
import pyzed.sl as zed
def zedCamshowLR():
"""
opencv显示zed摄像头左右图片,并实现zed2相机按键保存图片,
:return: ss
"""
cam = zed.Camera()
input_type = zed.InputType()
init = zed.InitParameters(input_t=input_type)
init.camera_resolution = zed.RESOLUTION.HD720 # HD720,HD1080,HD2K
init.coordinate_units = zed.UNIT.MILLIMETER
cam.open(init)
image_size = cam.get_camera_information().camera_resolution
image_zed = zed.Mat(image_size.width, image_size.height, zed.MAT_TYPE.U8_C4)
num_l = 1
num_r = 1
while True:
cam.grab()
image_sl_left = zed.Mat() # left_img
cam.retrieve_image(image_sl_left, zed.VIEW.LEFT)
image_cv_left = image_sl_left.get_data()
image_sl_right = zed.Mat() # right_img
cam.retrieve_image(image_sl_right, zed.VIEW.RIGHT)
image_cv_right = image_sl_right.get_data()
image_cv_left = cv2.cvtColor(image_cv_left, 1)
image_cv_right = cv2.cvtColor(image_cv_right, 1)
cv2.imshow("left", image_cv_left)
cv2.imshow("right", image_cv_right)
key = cv2.waitKey(1)
if key & 0xFF == ord('l'):
savePath = os.path.join("./images", "L{:0>3d}.png".format(num_l)) # 注意根目录是否存在"./images"文件夹
cv2.imwrite(savePath, image_cv_left)
num_l