java - 是否有独立于平台的方式来列出视频输入设备

标签 java opencv

在通过创建VideoCapture对象进行捕获之前,我想显示可用设备列表。我相信可以在Windows中使用DirectShow并在Linux中通过检查/ dev / video *条目来完成。

但是我想知道是否有任何与平台无关的方法可以获取此列表?

注意。我知道我可以使用VideoCapture.open并枚举isOpen来枚举设备,但是我也希望能够显示一个有意义的名称,我不认为VideoCapture可以给我这样的意思吗?

最佳答案

我了解可用设备意味着相机已连接到您的计算机。

  • 首先,要能够通过相机使用VideoCapture;相机不应该有驱动程序。通常,VideoCapture可用于简单的相机,例如网络摄像头,某些USB相机等。
  • OpenCV没有属性来计数或列出已连接的可用摄像机。您还可以检查this post
  • 仅用于计数摄像机,您还可以使用类似以下的蛮行方式:

  • 例:
    VideoCapture cap;
        int device_counts = 0;
        while ( true ) {
            if ( !cap.open(device_counts++) ) {
                break;
            }
        }
    
  • 但我认为,最好的解决方案是使用框架来实现这一目标。例如Qt Creator
  • 关于java - 是否有独立于平台的方式来列出视频输入设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61510571/

    相关文章:

    java - 如何配置每 15 分钟滚动一次日志文件的 log4j 文件附加程序

    java - Android - RecyclerView 项目未显示

    java - Android构建报错: ro. build.fingerprint cannot exceed 91 bytes

    python-3.x - 在 python 中转换 imgradient matlab 等价物以适应更复杂的场景

    image-processing - 头顶摄像头检测头顶

    opencv - 连接字符的分割

    java - 尝试调用虚拟方法“android.view.Menu”

    java - 如何解决定期通知不发送的问题

    php - 使用 php 页面调用 OpenCV python 脚本

    c++ - cv::flann::knnSearch 返回的距离单位是什么?