在delphi中从网络摄像头捕获图像

在delphi中从网络摄像头捕获图像,delphi,directshow,image-capture,dspack,Delphi,Directshow,Image Capture,Dspack,我正在寻找一种使用directshow从我的网络摄像头捕获图像的方法,如果可能的话,我最好使用高清分辨率,并避免CPU峰值达到60-100% 有人能朝正确的方向开枪吗 我尝试使用DSPack,但这个组件使我的CPU峰值达到90-100% 不过,如果这里有人知道如何在CPU消耗较少的情况下使用DSPack,我也会很高兴:)我有一个使用Mitov视频库的实时视频应用程序。它是一个设计良好、线程化的对象集合,并利用了所有可用的CPU核心 当我带着一些新的需求去他的图书馆时,我通常会惊喜地看到他已经预料

我正在寻找一种使用directshow从我的网络摄像头捕获图像的方法,如果可能的话,我最好使用高清分辨率,并避免CPU峰值达到60-100%

有人能朝正确的方向开枪吗

我尝试使用DSPack,但这个组件使我的CPU峰值达到90-100%


不过,如果这里有人知道如何在CPU消耗较少的情况下使用DSPack,我也会很高兴:)

我有一个使用Mitov视频库的实时视频应用程序。它是一个设计良好、线程化的对象集合,并利用了所有可用的CPU核心

当我带着一些新的需求去他的图书馆时,我通常会惊喜地看到他已经预料到了。支持也很好

这不便宜:450美元,但为了我的需要,每一分钱都值。它对非商业用途是免费的:

他的CaptureBitMap演示将连续帧捕获到位图中。您只需在一个表单上放置几个组件,然后编写六行代码!这个库有很多钩子,比这个简单的例子更进一步。(在Delphi 2010的Win 7中,演示安装在这里:C:\Program Files(x86)\Embarcadero\RAD Studio\7.0\LabPacks\demos\Delphi2010\VideoLab\CaptureBitmap。但是,我知道他最早支持Delphi 7。)

他的库的一个不同之处在于它使用了英特尔IPP库:。在英特尔芯片组上运行时,如果您选择提供英特尔DLL,您将获得英特尔工程师从芯片中挤出的最佳性能。如果Mitov的IPP库不能足够快地处理您的视频,我会很惊讶是否有任何视频库可以

Mitov在Delphi社区有一定的地位:他是CodeRage(周四会议)多线程的发言人


上面这句话听起来好像我是他的公司的一个骗子。我没有任何关系,除了作为一个非常满意的被许可人。我很高兴(也松了一口气)找到了他的工具并决定使用它们

我有一个使用Mitov视频库的实时视频应用程序。它是一个设计良好、线程化的对象集合,并利用了所有可用的CPU核心

当我带着一些新的需求去他的图书馆时,我通常会惊喜地看到他已经预料到了。支持也很好

这不便宜:450美元,但为了我的需要,每一分钱都值。它对非商业用途是免费的:

他的CaptureBitMap演示将连续帧捕获到位图中。您只需在一个表单上放置几个组件,然后编写六行代码!这个库有很多钩子,比这个简单的例子更进一步。(在Delphi 2010的Win 7中,演示安装在这里:C:\Program Files(x86)\Embarcadero\RAD Studio\7.0\LabPacks\demos\Delphi2010\VideoLab\CaptureBitmap。但是,我知道他最早支持Delphi 7。)

他的库的一个不同之处在于它使用了英特尔IPP库:。在英特尔芯片组上运行时,如果您选择提供英特尔DLL,您将获得英特尔工程师从芯片中挤出的最佳性能。如果Mitov的IPP库不能足够快地处理您的视频,我会很惊讶是否有任何视频库可以

Mitov在Delphi社区有一定的地位:他是CodeRage(周四会议)多线程的发言人


上面这句话听起来好像我是他的公司的一个骗子。我没有任何关系,除了作为一个非常满意的被许可人。我很高兴(也松了一口气)找到了他的工具并决定使用它们

我已经在汽车内置的廉价机器上使用dspack很久了。它们通过处理器(单核)实现了约700mhz的慢速,以及256MB的RAM

该应用程序每秒从车顶上的摄像头捕获12张图像,每次新的GPS位置(每秒一次),它都会向图像添加坐标,并将其以.jpg格式存储在硬盘上

当应用程序捕获图像并在窗体上显示图像而不创建.jpg图像时,应用程序大约需要5%的处理器时间(!)

如果您使用DsPack获得90%的CPU时间,可能是因为对图像进行了额外的处理


在我的研究中,我尝试了各种各样的库来创建这个程序,dspack在许多方面都是一个明显的赢家。我不会太快放弃的。

我已经在汽车内置的廉价机器上使用dspack很久了。它们通过处理器(单核)实现了约700mhz的慢速,以及256MB的RAM

该应用程序每秒从车顶上的摄像头捕获12张图像,每次新的GPS位置(每秒一次),它都会向图像添加坐标,并将其以.jpg格式存储在硬盘上

当应用程序捕获图像并在窗体上显示图像而不创建.jpg图像时,应用程序大约需要5%的处理器时间(!)

如果您使用DsPack获得90%的CPU时间,可能是因为对图像进行了额外的处理


在我的研究中,我尝试了各种各样的库来创建这个程序,dspack在许多方面都是一个明显的赢家。我不会太快放弃的。

在寻找德尔福解决方案之前,你确定这是可能的吗?视频压缩需要大量的CPU。你看过其他软件吗?有硬件卡可以在板上捕获和压缩视频,并为应用程序提供H.264视频。也许你有一个旧的单核CPU?你能澄清一下你是想捕获静态图像(快照)还是视频剪辑吗?使用60-100%的CPU有什么问题?它是否长期使用此功能?DSPack不会导致CPU峰值。DSPack是DirectShow的包装器。您正在使用的编码器可能导致CPU峰值。所以你可能应该尝试一些di