Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.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++ 基于网络摄像机图像的目标检测_C++_Opencv - Fatal编程技术网

C++ 基于网络摄像机图像的目标检测

C++ 基于网络摄像机图像的目标检测,c++,opencv,C++,Opencv,对于我正在做的一个项目,我在我的计算机上有一个存储了数百张图像的“图像库”。当电脑的网络摄像头显示其中一幅精确图像时,需要能够确定这100幅图像中的哪一幅 起初,我考虑使用直方图来匹配图像,但我觉得这并没有达到预期的效果,因为我知道呈现的图像将与存储的图像完全相同(不仅是同一对象,而且是同一图像)。我想做的就是消除所有网络摄像头的噪音,然后缩放图像的亮度、对比度等,然后在线查找最接近的匹配项 有没有一个内置的OpenCV函数可以做这种事情?如果没有,我可以编写什么样的算法来实现这一点?在open

对于我正在做的一个项目,我在我的计算机上有一个存储了数百张图像的“图像库”。当电脑的网络摄像头显示其中一幅精确图像时,需要能够确定这100幅图像中的哪一幅

起初,我考虑使用直方图来匹配图像,但我觉得这并没有达到预期的效果,因为我知道呈现的图像将与存储的图像完全相同(不仅是同一对象,而且是同一图像)。我想做的就是消除所有网络摄像头的噪音,然后缩放图像的亮度、对比度等,然后在线查找最接近的匹配项


有没有一个内置的OpenCV函数可以做这种事情?如果没有,我可以编写什么样的算法来实现这一点?

在opencv中,可以首先从“图像库”中提取相互指责的特征f,并以某种方式表示特征f,以帮助您进行搜索过程。要找到所需的功能,您需要使用opencv算法SIFT、SURF、FAST或类似算法。 要建立搜索索引,因为您只有100个图像,您可以使用KD树。如果你想在“图像库”中获得更多图像,请使用(弓形)文字袋表示法。所有算法都包含在opencv中,这取决于您的选择和实现。希望能为您提供一些信息,请进一步阅读opencv文档中有关算法使用的信息