问题标签 [uvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
614 浏览

android - 使用 libuvc 在 Android 上合并多个摄像头流

我可以连接两个 USB 连接的摄像头并在屏幕上并排查看它们(感谢这个例子。但是我想更进一步 - 从两个视频中获取两帧并将它们拼接并显示。

我也使用 OpenCV for Android 独立完成了拼接。但是我不确定如何拾取帧并创建单个流以在单个表面上显示?

任何指针表示赞赏。我希望我的问题不是太宽泛。请在否决之前建议编辑:)

谢谢

0 投票
1 回答
2857 浏览

linux - USB:小工具:设备模式:configfs:uvc和单一配置的大容量存储?

我正在尝试在设备模式下为单个 USB 设备控制器端口添加 uvc 和大容量存储。我正在使用 configfs 来完成工作。

任何人都可以告诉如何做到这一点。

问候, GBiradar

0 投票
2 回答
2760 浏览

opencv - 带有 OpenCV 的视频采集卡(类似网络摄像头)

我想使用视频采集卡来捕捉我的屏幕显示,并通过 OpenCV/C++ 处理图像。

我听说有一些像网络摄像头一样的视频采集卡。(即我可以通过 OpenCV 中的 VideoCapture 获取屏幕显示。)

谁能告诉我应该买哪种视频采集卡?

谢谢 !!!

0 投票
1 回答
1300 浏览

macos - 在 libuvc 中确定正确的帧格式

我正在尝试连接到 OS X 上的 UVC 兼容相机。使用 hello world 示例libuvc,我的相机输出以下内容:

然而,没有一种帧格式似乎工作,即

无论我尝试什么帧格式(我尝试遍历枚举),我都会得到这样的结果:

该摄像头在 Windows 和 ROS 下的 Linux 中运行良好。我应该使用什么帧格式?鉴于配置,我希望UVC_FRAME_FORMAT_RGB可以工作,但没有骰子。libuvc 的代码似乎将 UVC 帧格式与设备提供的格式进行了比较,但我不明白它如何确定什么是有效格式。

0 投票
1 回答
626 浏览

directshow - 如何通过媒体基础获取相机内在函数

我正在尝试使用媒体基础 \ directshow API 访问相机内在参数,例如焦距、主点和失真系数。

我看到可以通过ICameraControl查询焦距,但是对于所有其他参数我找不到方法。

在 Media Foundation\Directshow API 中是否有通用的方法来做到这一点?

0 投票
0 回答
125 浏览

python - 如何关闭 pyqtgraph .image 打开的 Ubuntu 窗口

我在 pyqtgraph 窗口中显示相机快照图像,但我无法弄清楚或找出如何关闭窗口。当我使用 .close() 时,窗口变白,但没有关闭。

下面,我使用 "pg.image( ) 打开一个显示图像的 Ubuntu 窗口。.close()只是使窗口的内容变白。关闭窗口的唯一方法是单击右上角的 Ubuntu 红色 X。

怎么关窗??

我在Ubuntu 16.04(Xenial Xerus)上。

0 投票
1 回答
260 浏览

c - 在 gtk 窗口中流式传输 libuvc 代码的过程是什么?

我目前在 linux 上工作。我使用 libuvc 将视频从 USB 摄像头流式传输到使用 GTK 的窗口中,给我一个任务来编写 C 代码。我正在从 uvc_frame_t 中取出,但在 gtk 窗口中流式传输它时遇到问题。有人可以帮忙吗?

0 投票
0 回答
172 浏览

android - 如何在 android 上立即强制 Qt GUI 小部件更新?

我正在开发一个项目,使用opencv对来自android usb摄像头的视频流进行一些图像处理。由于我不太擅长java,所以我决定在android上使用带有opencv-android-sdk的Qt。我使用 libuvc 示例在 android 上获取我的视频流:https uvc_start_streaming(mDeviceHandle, &ctrl, cb, user_ptr, 0); ://github.com/ktossell/libuvc/blob/master/src/example.c 我的 uvc 代码:

cb 是 uvc_start_streaming 的回调函数,也是我放置 opencv 图像处理代码的地方,我还尝试在此函数中更新 Qt GUI 小部件。这是我的 cb 功能:

w 是一个 qt Mainwindow 和我在 mainwinow 中的 updatePreview 函数:

我的例外是在 mpImageLabel 中看到来自我的 USB 摄像头的实时视频,但实际上只有最后一帧 uvc 流显示在 mpImageLabel 中,其他时候 mpImageLabel 都是空白的。我猜 gui 更新功能在 uvc 流期间挂断时间。我搜索了一段时间并尝试了 qApp->processEvent 方法,但根本不起作用。对此有什么想法吗?

0 投票
1 回答
844 浏览

windows - Windows 设备:获取 UVC 网络摄像头的给定 IMFActivate* 的“位置”字符串

当转到 Windows 的“设备管理器”并单击(几乎)列表中的任何设备时,“常规”选项卡中的一条信息称为“位置”。那是一个字符串,可以是:

  • 人类可读,例如“在 NVIDIA GeForce GTX 1080 上”
  • 半有用的,例如“位置 0(内部高清音频总线)”或“PCI 总线 9,设备 0,功能 0”
  • USB 位置,例如“Port_#0004.Hub_#0015”甚至是“0009.0000.0000.004.000.000.000.000.000”

该信息可通过 Windows 的统一设备属性模型API 获得。

我正在寻找的是从给定IMFActivate对象中获取该信息。

有没有办法这样做?我找不到如何从该激活对象获取“设备”信息。我拥有的唯一数据是“符号链接”(在我的例子中,这个字符串:),\\?\usb#vid_04b4&pid_8888&mi_00#9&4fe28be&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global但该链接的格式与我在“位置”中看到的字符串完全不同。

因此我的问题是:如何获取设备的“位置”字符串,给定它的IMFActivate对象?

更新

这是我用来“转换”符号链接的代码,由提供IMFActivate的设备 id 字符串提供,可由 setup-api 函数识别,然后提取“位置字符串”:

更新 2

devmgmt.msc以下是“声音、视频和游戏控制器”下的 3 个音频输入设备:

  • MS LifeCam Cinema (TM),位置:0000.0014.0000.013.003.000.000.000.000(符号链接\\?\SWD#MMDEVAPI#{0.0.1.00000000}.{751fe058-cef2-4d28-bbeb-e438981938d7}#{2eef81be-33fa-4800-9670-1cd474972c3f}:)
  • MS LifeCam Studio (TM),位置:0000.0014.0000.013.004.004.000.000.000(符号链接\\?\SWD#MMDEVAPI#{0.0.1.00000000}.{59267d2e-940b-45f5-8655-45372787bd85}#{2eef81be-33fa-4800-9670-1cd474972c3f}:)
  • SUB2r USB 3.0 高清网络摄像头,位置:0009.0000.0000.004.000.000.000.000.000(符号链接\\?\SWD#MMDEVAPI#{0.0.1.00000000}.{26a4f608-cbd8-4206-b958-d57ee6847153}#{2eef81be-33fa-4800-9670-1cd474972c3f}:)

所有 3 个都是 USB 设备,调用时会列出所有 3 个,MFEnumDeviceSources但它们的“符号链接”不会解析为硬件设备。

0 投票
1 回答
3507 浏览

camera - Ubuntu 摄像头:VIDIOC_STREAMON 错误 28,设备上没有剩余空间

我有一个输出 5MP RGB 图像流的深度相机。尝试使用此相机时,我收到一条错误消息:

相机的规格说我需要一个 USB 3.0,我确实有,而且相机同时使用 RGB 和深度流。

这是“lsusb”的输出

谁能帮我解决这个问题?