Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用OpenCV在视频中查找对象_C++_Image Processing_Opencv_Video Capture_Video Processing - Fatal编程技术网

C++ 如何使用OpenCV在视频中查找对象

C++ 如何使用OpenCV在视频中查找对象,c++,image-processing,opencv,video-capture,video-processing,C++,Image Processing,Opencv,Video Capture,Video Processing,为了跟踪视频帧上的对象,首先我从视频中提取图像帧并将这些图像保存到文件夹中。然后我要处理这些图像来找到一个物体。实际上,我不知道这是否是一件实际的事情,因为所有的算法都只做了一步。这是正确的吗 好吧,根据视频的大小和帧的大小,你的方法将消耗大量磁盘空间,另外你将花费大量时间从磁盘读取帧 您是否尝试过执行实时视频处理?如果您的算法不是太慢,那么有一些帖子显示了您需要做的事情: 演示如何使用OpenCV的C接口执行一个函数,将网络摄像头(实时)捕获的帧转换为灰度并在屏幕上显示 显示了一种使用C++

为了跟踪视频帧上的对象,首先我从视频中提取图像帧并将这些图像保存到文件夹中。然后我要处理这些图像来找到一个物体。实际上,我不知道这是否是一件实际的事情,因为所有的算法都只做了一步。这是正确的吗

好吧,根据视频的大小和帧的大小,你的方法将消耗大量磁盘空间,另外你将花费大量时间从磁盘读取帧

您是否尝试过执行实时视频处理?如果您的算法不是太慢,那么有一些帖子显示了您需要做的事情:

  • 演示如何使用OpenCV的C接口执行一个函数,将网络摄像头(实时)捕获的帧转换为灰度并在屏幕上显示
  • 显示了一种使用C++接口检测图像中正方形的简单方法;李>
  • 是上面的一个轻微变化,并显示如何检测纸张
  • 显示了执行高级方形检测的几种不同方法

<> P>我相信你有能力把C代码转换成C++接口。

如果你使用OpenCV,那么存储视频帧没有意义,因为它有很好的方法从摄像头/存储的视频实时捕捉帧。 在这里,您有一个从视频捕获帧的示例代码


然后,如果要检测这些帧上的对象,则需要使用检测算法处理每个帧。OpenCV提供了一些与主题相关的示例代码。例如,您可以尝试使用SIFT算法来检测图片。

您的算法对于实时视频处理是否太慢?先生,非常感谢您的回复。是的,现在我明白了使用两个步骤需要更多的时间。所以我认为使用一个步骤对于实时项目是好的。先生,根据您的回答,我学习了视频处理,但我不明白如何从处理过的视频帧中跟踪对象。你能解释一下如何识别处理过的视频帧的对象吗。先生,如果您在C++接口上提供一些编码,我会很高兴。先生,请您解释一下,这需要在一个程序中同时写入两个线程来处理视频帧处理部分和对象跟踪部分。如果你能举个例子,我会很高兴的。让我们每个线程保留一个问题,你开始劫持你自己的线程了。如果你还有其他问题,可以在不同的线程中自由提问。Stackoverflow并非针对1x1支持。我总结了需要做的事情,并提供了一些代码参考。你没什么事可做了。这里还有其他文章讨论如何使用OpenCV实现多线程系统来捕获和处理来自摄影机的帧。关键字:。先生,如果给您带来不便,我很抱歉。事实上,我是stackoverflow新手,不觉得在一个线程中问多个问题不好。我尽我所能避免这些困难。如果给您带来不便,我想再次表示歉意。没问题,别担心。祝您玩得愉快,我们会到处看看的。谢谢您的回复。是的。现在我可以理解,执行两个步骤(首先存储帧,然后跟踪这些帧的对象)毫无意义。SIFT算法应该用matlab和java来实现吗?是的,只要你已经实现了SIFT,它就会工作。我认为matlab应该更慢一些,但是使用数据和学习过程是很好的。Debuging OpenCV有点恼人,但问题是项目是使用OpenCV和C++实现的。有什么好的算法可以用于opencv吗opencv拥有所有好的算法。筛选、快速、冲浪、RANSAC,。。。要检测一个对象,首先需要描述它的“特征”(可以通过SIFT获得)和匹配算法(matchTemplate,e.j.)。谷歌一点,在stackoverflow这里搜索帖子,你会实际得到代码,但首先自己试试。在Begging是很棘手的,但你可以在这里寻求帮助。在冲浪,检测视频的关键点。我怎样才能改变它,只检测一个矩形的物体?