test01.py 985 B

1234567891011121314151617181920212223242526272829303132333435
  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. # main={"size": (1800, 1800)}
  10. ))
  11. picam2.start() # 开始相机流
  12. # 设置自动对焦,如果摄像头支持
  13. try:
  14. picam2.set_controls({"AfMode": controls.AfModeEnum.Continuous})
  15. except Exception as e:
  16. print('该摄像头无法自动对焦, 请手动对焦: {}'.format(e))
  17. # 设置自动白平衡
  18. try:
  19. picam2.set_controls({"AwbMode": controls.AwbModeEnum.Auto}) # 自动白平衡
  20. except Exception as e:
  21. print('设置自动白平衡失败: {}'.format(e))
  22. time.sleep(0.1) # 等待相机初始化
  23. frame = picam2.capture_array() # 捕获图像
  24. # 打印图像信息
  25. print(frame)
  26. print(frame.shape) # 这里使用 shape 来查看图像的尺寸
  27. frame = cv2.cvtColor(frame, cv2.COLOR_RGBA2RGB)
  28. # 保存图片查看结果
  29. cv2.imwrite("test.jpg", frame)