ฉันจำเป็นต้องรู้วิธีการตรวจสอบจากระยะไกลว่าโมดูลกล้อง 8mp หรือ 5mp เชื่อมต่อกับ rpi เพื่อนำไปใช้ในโครงการฝังตัวหรือไม่
ความช่วยเหลือใด ๆ
ฉันจำเป็นต้องรู้วิธีการตรวจสอบจากระยะไกลว่าโมดูลกล้อง 8mp หรือ 5mp เชื่อมต่อกับ rpi เพื่อนำไปใช้ในโครงการฝังตัวหรือไม่
ความช่วยเหลือใด ๆ
คำตอบ:
ไม่มีการข้างต้น
ใช้ประโยชน์จากไดรเวอร์ v4l ( modprobe bcm2835-v4l2
) และใช้v4l2-ctl
คำสั่งจาก CLI หรือถ้าคุณต้องการได้รับแฟนซีใช้ไลบรารี v4l2 จาก python หรือ C:
# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YU12'
Name : Planar YUV 4:2:0
(ผลผลิตมากขึ้น)
# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 16x16 - 2592x1944 with step 2/2
ไม่มีข้อใดถูกเลยสำหรับฉัน ด้วย Raspbian Stretch (เวอร์ชั่นมิถุนายน 2018, เคอร์เนล 4.14), Python 3.5 และ picamera 1.13 ฉันใช้:
import picamera
with picamera.PiCamera() as cam:
print(cam.revision)
หากคุณมีความสุขในการเขียนโค้ด C ให้ดูที่บรรทัดที่เกี่ยวข้องใน raspistillซึ่งใช้ใหม่MMAL_PARAMETER_CAMERA_INFO
เพื่อค้นหาประเภทของกล้องที่ติดตั้ง
หากคุณไม่มีความสุขกับ C คุณจะต้องรอหนึ่งสัปดาห์หรือมากกว่านั้นในขณะที่ฉันจบ picamera 1.11 ซึ่งจะมีPiCamera.model
พารามิเตอร์ใหม่ที่คุณสามารถค้นหาข้อมูลเดียวกันได้ (จะคืนค่าสตริงที่มีชื่อเซ็นเซอร์เป็น ส่งคืนโดยMMAL_PARAMETER_CAMERA_INFO
)
อัปเดต
เมื่อคำตอบของ EdMc2 ปรากฏขึ้นอย่างเป็นระเบียบฉันก็เสียใจที่เรียกสิ่งนี้PiCamera.revision
มากกว่ารุ่น!
คำตอบของ EdMc2 ใช้ได้กับฉัน - แต่ cam.revision แสดงชื่อเซ็นเซอร์กล้องเท่านั้น ดังนั้นฉันจึงพบความละเอียดสูงสุดเช่นนี้:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
คุณสามารถบันทึกไฟล์ (เช่น picamera.py) และดำเนินการเช่นนี้:
python3 picamera.py
ผลลัพธ์ของฉัน2592x1944
คือกล้อง 5MP