问题标签 [frame-grab]

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 回答
108 浏览

java - 在 FFMpeg 视频中的准确时间抓取准确的图像?

我正在尝试在 java 中构建一个使用此库的项目:https ://github.com/bytedeco/javacv

我想使用 FFmpegFrameGrabber 来获取视频的精确帧,但我看到的唯一方法是FFmpegFrameGrabber.grab(). 当它不接受输入时,它如何知道要提取哪个帧?我觉得应该有一个以毫秒为单位的时间或一个帧号来指定,但不确定。

如果您有任何想法,我会喜欢您的意见。

0 投票
1 回答
836 浏览

c++ - 使用 Matrox 进行帧抓取

我正在尝试运行 Matrox Image Library 的帧抓取示例代码。当应用程序运行时,我得到的只是显示图像的黑屏。

我知道我的配置是正确的,因为当我尝试使用 Matrox Intellicam 软件时,我能够抓取图像,这让它变得更加奇怪。这只是我需要更改的软件中的一些我不知道的东西。

我找到了这个,但它真的没有帮助。使用 Matrox 命令进行帧捕捉

这是我的代码。

我很困惑,我会很感激任何暗示可能有问题的想法。

0 投票
1 回答
333 浏览

vb.net - 如何在 C# 中使用 Frame Grabber 设备捕获图像?

尝试通过实现 G-API 使用图像采集卡设备捕获图像,但我无法从 G-API 访问内部函数。创建对象后,功能仍然无法访问。这是 G-API LINK的链接。但是,我无法创建其类的实例。

以下是我的发现:

1)我已经做了如下声明
Dim Compare_full_image As GApiWrapper.Lvds.G_Lvds

2)然后在我的函数中,我尝试如下创建它的实例
Capture_full_image = New GApiWrapper.Lvds.G_Lvds()

3)我调用函数如下
Capture_full_image.Lvds_FrameGrabber_CaptureToFile(1, 400, 800, "C:\Users\Public\Pictures\Sample Pictures")

4)运行代码后,我得到低于运行时间错误

错误 1:GApiWrapper.Lvds.G_Lvds.Friend Sub New()在此上下文中不可访问,因为它是Friend.

0 投票
0 回答
449 浏览

opencv - 同时从多个摄像头捕捉图像

我的设置包括 3 个 USB 2.0 相机,它们连接到 USB 3.0 集线器,然后连接到计算机。相机相互独立,硬件不同步。目标是在事件发生时从所有这些相机中捕获图像,在这种情况下只需按下一个按钮。

我遇到了这个opencv 文档页面“VideoCapture::grab”和“VideoCapture::retrieve”,但找不到我可以理解/易于使用的简单示例。任何帮助是极大的赞赏。我还看到很多人在使用多线程、多处理等,几乎所有人都在使用“VideoCapture::read”而不是抓取和检索。

0 投票
1 回答
450 浏览

opencv - Matrox 成像库中的 MdigGrab 是提供彩色图像还是黑白图像

我正在使用带有 16 通道图像采集卡的 Matrox Morphis QxT。当使用内置函数 MdigGrab 和 MdigGrab 连续时,我从我的相机 (Watec 221S2) 获得黑白图像。

我想要来自相机的彩色图像。

我尝试编写自己的代码,但它也提供黑白(单色)图像/视频。我正在使用 OpenCV。

这是我的代码。

0 投票
0 回答
34 浏览

c# - 使用具有相同双端口图像采集卡的两个不同的 cameralink 相机

我会解释我的问题。

我有以下情况:我有两台摄像机使用 cameralink 端口和一个matrox 图像采集卡。

  • Framegrabber:它是一个matrox solios,有2个cameralink端口,可以同时连接两个摄像头。
  • 相机 1:它是一个 pco.1600 相机,有自己的 SDK(PCO SDK)来开发应用程序来使用它。此 SDK 专用于此相机。
  • 摄像头2:是Specim公司的摄像头,没有自己的SDK,但是我可以使用framegrabber SDK与这个摄像头通信。

我的问题如下:

  1. Camera 1的 SDK不允许我与Camera 2通信,因为它是特定于Camera 1的。
  2. Matrox SDK 不允许我与Camera 1通信,因为Camera 1只能与它自己的 PCO SDK 一起工作。
  3. 我不能同时使用两个 SDK(Matrox SDK 和 PCO SDK),因为当第一个使用帧抓取器时,第二个无法访问它。

问题:是否可以通过使其中一个使用同一帧捕获器的端口 1 和另一个端口 2 来同时使用两个 SDK?我怎样才能做到这一点?

提示:我的开发环境是 Visual Studio 2008(我知道很老,但我必须为 SDK 使用这个版本),代码是 C# 语言。

如果您需要任何其他信息,请告诉我。

感谢您提前回答。问候。

0 投票
0 回答
128 浏览

python - 在 OpenCV for python 中断开视频源时出错

我正在使用 OpenCV (cv2) 来读取视频源,以便将其显示为桌面应用程序。视频输入是来自美乐威图像采集卡设备的外部输入,该设备通过 USB 连接到计算机,通过 HDMI 连接到相机(用户在使用应用程序时现场有此硬件)。如果 USB 连接丢失,我想向用户显示警告,如果重新建立连接,则视频源应重新开始运行。

但是,当我故意断开图像采集卡 USB 时,我的进程会停止。我收到以下错误消息:

我的代码在类中运行Camera(threading.Thread)Camera是一个子类,threading.Thread因此具有线程的本机方法)。

在我__init__这个类的方法中,我正在设置self._cam = cv2.VideoCapture(0). (0 是默认视频源,在这种情况下是帧采集器)。

在启动时,threading-native 方法start()被称为super().start(). 这调用run(). 看起来像这样的run()调用(简化):__grab_frame

当我运行此代码时,一切正常,直到我拔出 USB。然后我得到上面显示的三行错误消息,然后"not connected"一切都停止了。

当我重新连接图像采集卡时,我每隔几秒就会重复收到此消息(注意新的错误 ID!):

... 其次是 print "not connected"

我也尝试通过启用内置笔记本电脑摄像头来重现错误,因此我有两个功能视频源。然后我禁用内置摄像头 (source=0) 以查看 OpenCV 是否能够切换到其他可用的视频源,但在这种情况下我会收到相同的错误消息。因此,这似乎是一个与视频源断开连接而不是没有可用视频源有关的问题。

任何帮助将非常感激!