如何检测安装的相机类型?


12

我需要知道如何远程检测将8mp或5mp的摄像头模块连接到rpi以便在嵌入式项目中实现。

有什么帮助吗?


为什么不在线查找相机规格?
达斯·维达

设备本身将无法访问,因此我需要通过ssh识别相机的型号。
鲍里斯·斯派克托

2
拍照并查看分辨率/尺寸?应该有明显的不同。
加纳玛

是否存在cli命令来查看图像的尺寸?如果是这样,那么我可以将raspistill的输出通过管道传递到该info命令中。
鲍里斯·史派克托

Answers:


8

以上都不是。

利用v4l驱动程序(modprobe bcm2835-v4l2),并使用v4l2-ctlCLI的命令,或者,如果您想花哨的话,请使用来自python或C的v4l2库:

# 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

实际的问题显然是如何获得V412-ctl?对我来说,它只是说“没有这样的文件或目录”。“无法找到软件包v412-ct”如果没有此信息,答案将不完整。
艾伯特·范德霍斯特

3

以上都不对我有用。通过Raspbian Stretch(2018年6月版,内核4.14),Python 3.5和picamera 1.13,我使用了:

import picamera

with picamera.PiCamera() as cam:
    print(cam.revision)

2

如果您对C编码感到满意,请看一下raspistill中的相关代码行,该代码行使用新代码MMAL_PARAMETER_CAMERA_INFO查找连接的摄像机的类型。

如果您对C不太满意,则需要等待一个星期左右,直到我完成picamera 1.11,它将具有一个新PiCamera.model参数,您可以查询相同的信息(这将返回包含传感器名称的字符串,如下所示)由MMAL_PARAMETER_CAMERA_INFO)返回。

更新 正如EdMc2的回答清楚地表明,我最终称呼它PiCamera.revision而不是模型!


感谢更新!这篇文章首先出现在“ picamera get model”的搜索中,所以我很感谢面包屑
Mike McCabe

0

EdMc2的答案对我有用-但是cam.revision仅显示相机传感器名称。所以我确实找到了这样的最大分辨率:

import picamera

with picamera.PiCamera() as cam:
    print(cam.MAX_RESOLUTION)

您可以保存文件(例如picamera.py)并按以下方式执行:

python3 picamera.py

我的结果是2592x19445MP相机。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.