systemd无法通过opencv访问摄像头

systemd cant access to camera via opencv

本文关键字:opencv 访问 摄像头 systemd      更新时间:2023-10-16

我的问题是OpencvSystemd一起

我在Ubuntu 16.0.4上安装了一个新的Opencv,并编写了一个程序来获取相机流并存储一些帧。它奏效了";没有";问题但不能通过Systemd工作。systemd单元处于活动状态(不会失败),但目标文件夹中没有帧存储

我一步一步地寻找问题,发现打开相机流时代码挂起了。即:cap.open("MyIpCameraAddress")

  • 我尝试通过bash脚本运行代码,而不是。但问题是存在的
  • 我还发现,当我通过systemd运行程序时,相对地址不起作用(当我测试打开图片时)

我的系统单位文件:

[单元]
描述=abc
After=network.target

[服务]
ExecStart=/path/to/executable


也测试类似上面的systemd单元,但用于运行.sh文件

当我启动我的系统单元时,目标文件夹(期望存储一些帧)会在上面显示一个锁定图标。但是当直接通过终端运行我的程序时,dest文件夹上没有任何锁定图标


编辑:我用Opencv v3.4.3和v4.0.1进行了测试,但结果是一样的。

我找到独奏问题是我安装opencv的方式(我在openvino包装中使用了opencv)我安装了独立版本的opencv,问题得到了解决。

如果有人遇到任何相同的问题,请随时询问我