test01.py 966 B

12345678910111213141516171819202122232425262728293031323334
  1. import picamera2
  2. from libcamera import controls
  3. from PIL import Image
  4. import cv2
  5. import time
  6. picam2 = picamera2.Picamera2()
  7. picam2.configure(picam2.create_still_configuration(
  8. main={"size": (2048, 2048),
  9. "format": "RGB888"}
  10. # main={"size": (1800, 1800)}
  11. ))
  12. picam2.start() # 开始相机流
  13. # 设置自动对焦,如果摄像头支持
  14. try:
  15. picam2.set_controls({"AfMode": controls.AfModeEnum.Continuous})
  16. except Exception as e:
  17. print('该摄像头无法自动对焦, 请手动对焦: {}'.format(e))
  18. # 设置自动白平衡
  19. try:
  20. picam2.set_controls({"AwbMode": controls.AwbModeEnum.Auto}) # 自动白平衡
  21. except Exception as e:
  22. print('设置自动白平衡失败: {}'.format(e))
  23. time.sleep(0.1) # 等待相机初始化
  24. frame = picam2.capture_array() # 捕获图像
  25. # 打印图像信息
  26. print(frame)
  27. print(frame.shape) # 这里使用 shape 来查看图像的尺寸
  28. # 保存图片查看结果
  29. cv2.imwrite("test.jpg", frame)