树莓派相机模块如何启用“Raspistill”?

3
我想在C程序中使用树莓派的系统命令 raspistill 拍照片。程序行如下: system(“raspistill -q 5 -vf -hf -o pic1.jpg -t 1 -th 0:0:0”);
然而,当我运行程序时,有时会出现错误,显示为:

mmal_vc_component_enable-无法启用组件-ENOSPC mmal-相机组件无法启用 mmal-main-无法创建相机组件 mmal-无法运行相机应用程序。 请检查固件更新ckquote

我已经尝试向/ boot / config.txt添加一些参数:

gpu_mem = 128 start_file = start_x.elf fixup_file = fixup_x.dat
disable_camera_led = 1 cam_lwm = 16 cam_hwm = 32 cam_offline_start = 16

但是这个错误有时仍然发生(有时可以)。 我真的想解决这个问题以便继续我的项目。 我该怎么办?

1
同样的情况在这里,我将分配给 GPU 的内存增加到 512,但没有任何变化 :-/ - tommed
我注意到在质量设置得太低或太高时都可能会出现这种情况。你试过增加质量吗? - tommed
6个回答

4

停止使用摄像头的任何其他进程(例如raspimjpeg)

$ ps -aux

// 找到进程的pid并使用pid号码(例如764)将其终止
$ sudo kill 764

注意:您可能有多个进程正在运行,因此请确保在再次尝试之前杀死它们所有。

2

在我的情况下,我在 Raspberry Pi 4 Model B 上运行了以下命令:

vcgencmd get_camera
supported=1 detected=1

raspistill -w 3280 -h 2464 -n -t 2000 -o test.png
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

make: *** [makefile:27: raspistill] Error 70

原来是摄像头的问题,标准摄像头可以正常工作!

1

经过多个小时的故障排除,我终于解决了这个问题。

我已经在我的YouTube(https://youtu.be/on8UlkRvLok)上分享了它。

这个问题只发生在来自Element14的相机树莓派V2.1(IMX219)中。但是在来自OKdo的相机树莓派V2.1中,我没有遇到这个错误。

因此,当出现错误时,需要对工作正常的相机(我使用的是OKdo的相机)进行一些初始化。

所以,步骤如下:

  1. 将您的工作相机连接到树莓派上(我使用的是树莓派4B)
  2. 打开您的树莓派
  3. 检查 "vcgencmd get_camera" 以确保您的硬件检测到了相机
  4. 使用 "raspistill -v" 拍摄图像,相机将捕获图像
  5. 然后用 ENOSPC 错误相机(来自 Element14)替换工作相机
  6. 然后尝试捕获图像 "raspistill -v",ENOSPC 错误将不会发生

注意:

  • 但是,在 ENOSPC 错误相机工作之后,如果您重新启动 / 关闭树莓派,则错误将再次发生 :(

操作系统:Raspberry Pi 4 Model B(4GB)

  • Linux raspberrypi 5.10.60-v7l+ #1449 SMP Wed Aug 25 15:00:44 BST 2021 armv7l GNU/Linux

1
当树莓派相机处于“开启”和流媒体状态时,将出现此错误。组件:ENOSPC 无法启动,除非树莓派相机未在流媒体或被其他进程使用。 一个解决方案是尝试在快照之前停止相机流,并在之后重新启动它。

0

我使用的是Raspberry Pi 4 Model B,曾经遇到过同样的问题。 我的解决方案是在Raspberry Pi配置中将GPU内存从128增加到256


0

当您在相机录制操作期间使用I/O时,会出现此错误。 我在录制时使用了I/O也遇到了同样的问题。 因此,在录制之前或之后添加而不是在中间添加。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接