Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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/9/security/4.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
OpenCV能否在静止图像中检测预定义的图像标记_Opencv_Augmented Reality - Fatal编程技术网

OpenCV能否在静止图像中检测预定义的图像标记

OpenCV能否在静止图像中检测预定义的图像标记,opencv,augmented-reality,Opencv,Augmented Reality,我对opencv完全陌生,我想问一个概念性的问题 是否有可能以类似于增强现实框架在视频提要中检测和跟踪标记图像的方式检测静止照片中的“标记” 如果单个图像包含已知标记(来自唯一标记数据库),我是否可以提取该标记的大小、位置和方向(假设标记图像具有足够的可检测特征等)?是。其中一种方法是使用特征匹配。在您的情况下,源图像中有预定义的标记,并且必须与目标图像匹配,如图所示。一个变化是我们不需要在源图像中找到关键点。 假设您有一组标记(x1,y1),(x2,y2),您可以像这样计算sift或orb描述

我对opencv完全陌生,我想问一个概念性的问题

是否有可能以类似于增强现实框架在视频提要中检测和跟踪标记图像的方式检测静止照片中的“标记”


如果单个图像包含已知标记(来自唯一标记数据库),我是否可以提取该标记的大小、位置和方向(假设标记图像具有足够的可检测特征等)?

是。其中一种方法是使用特征匹配。在您的情况下,源图像中有预定义的标记,并且必须与目标图像匹配,如图所示。一个变化是我们不需要在源图像中找到关键点。 假设您有一组标记(x1,y1),(x2,y2),您可以像这样计算sift或orb描述符

key_points_src = [cv2.KeyPoint(x1, y1, 1), cv2.KeyPoint(x2, y2, 1) ...]
key_points_src, src_des = orb.compute(src_img, key_points_src)
现在,将它们与目标图像匹配的一种方法是: 在目标图像中找到关键点并计算描述符

key_points_target, target_des = orb.detectAndCompute(target_img, None)
现在匹配它们

bf = cv.BFMatcher(cv.NORM_HAMMING, crossCheck=True)
matches = bf.match(src_des,target_des)

这可以作为一个起点,并检查opencv中可用于基于标记的AR的其他方法,如计数、模板匹配等。

取决于标记的外观和图像的质量。你不应该一开始就用你想到的任何标记来捕捉/记录图像。相反,您应该确保能够检测到这些标记,或者重新设计它们。有一些通用标记,如阿鲁科标记或二维码,但在假设错误之前,您仍然应该使用您的设置(大小、到相机的距离、照度等)测试它们。看这里,它使用图像跟踪OpenCV完成的所有操作