- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 OpenCV 程序,它使用 SURF 来检测是否在视频流中检测到模板对象。我希望在检测到对象时打印出对象名称,但目前它似乎在发现“良好”特征匹配时打印出来,这在绝大多数情况下都是误报。
我的程序如下:
//Step 1: Detect keypoints using SURF detector
//Step 2: Calculate descriptors (feature vectors)
//Step 3: Matching descriptor vectors using FLANN matcher
//Step 4: Localise the object
std::vector<Point2f> obj;
std::vector<Point2f> scene;
for( int i = 0; i < good_matches.size(); i++ )
{
//-- Get the keypoints from the good matches
obj.push_back( keypoints_object[ good_matches[i].queryIdx ].pt );
scene.push_back( keypoints_scene[ good_matches[i].trainIdx ].pt );
}
Mat H = findHomography( obj, scene, CV_RANSAC );
std::vector<Point2f> obj_corners(4);
obj_corners[0] = cvPoint(0,0); obj_corners[1] = cvPoint( img_object.cols, 0 );
obj_corners[2] = cvPoint( img_object.cols, img_object.rows ); obj_corners[3] = cvPoint( 0, img_object.rows );
std::vector<Point2f> scene_corners(4);
perspectiveTransform( obj_corners, scene_corners, H);
//-- Draw lines between the corners (the mapped object in the scene - image_2 )
line( img_matches, scene_corners[0] + Point2f( img_object.cols, 0), scene_corners[1] + Point2f( img_object.cols, 0), Scalar(0, 255, 0), 4 );
line( img_matches, scene_corners[1] + Point2f( img_object.cols, 0), scene_corners[2] + Point2f( img_object.cols, 0), Scalar( 0, 255, 0), 4 );
line( img_matches, scene_corners[2] + Point2f( img_object.cols, 0), scene_corners[3] + Point2f( img_object.cols, 0), Scalar( 0, 255, 0), 4 );
line( img_matches, scene_corners[3] + Point2f( img_object.cols, 0), scene_corners[0] + Point2f( img_object.cols, 0), Scalar( 0, 255, 0), 4 );
if() {
std::cout << fileNamePostCut << std::endl;
}
...
我不确定要声明哪个条件才能打印对象名称 (fileNamePostCut
)
最佳答案
您的目标是消除误报。您应该采用两种方法:
关于c++ - OpenCV - 仅在绘制单应性时打印对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28189188/
我有一个标记,我想对其应用单应变换。例如,我有一张带有自己框架的图像,我想做的是围绕 X 轴旋转图像。 我可以使用 warpPerspective 但我需要那个矩阵(单应性)来进行特定的变换(例如 3
我正在 Visual Studio 2010 上使用 OpenCV 2.3.1 进行图像拼接项目。 我目前有 2 个问题。 (我的声望不超过10所以我在这个帖子里只能发2个超链接,我会在评论区再发2个
众所周知,在 OpenCV 中,我可以在 2 个图像之间进行仿射或透视变换: M - affine transformation - 通过使用 estimateRigidTransform() H -
我已经按照 python 中的 opencv 教程进行操作。我正在使用 OpenCV 3.2 和 Python 3.6.1。代码是这样写的: import cv2 import numpy as np
我有一个字段中的点列表(如 upper_goal_point/left_upper_outer_corner 等) 我知道它们在目标图像中的对应坐标 - 所以我可以计算单应性: h, status =
我在射影空间中有一组 3D 点,我想将它们转换为公制 3D 空间,以便我可以以米为单位测量距离。 为此,我需要一个 3D 到 3D 单应矩阵,它是一个具有 15 个自由度的 4x4 矩阵(因此我需要
我是一名优秀的程序员,十分优秀!