如何使用 OpenCV 3.1 调用 line 或 cv::line?
How do I call line or cv::line with OpenCV 3.1?
我正在学习的教程包含如下代码:
line( img_matches, ..., ..., Scalar( 0, 255, 0), 4 );
其中 img_matches 只是一个垫子,接下来的两个参数是点,然后是颜色和宽度。对于本教程,我已经弄清楚了 OpenCV 3.1 中发生的所有其他变化,但我不知道如何画线。文档似乎暗示它只是 cv::line(...),但这没有在我的命名空间中定义,并且范围内有一个 cvLine,但它期待的不是 Mat 看起来像的东西。
我不是 C++ 程序员,所以这可能是一些基础知识。
根据要求,这是我的 headers:
#include <stdio.h>
#include <iostream>
#include "opencv2/core.hpp"
#include "opencv2/features2d.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/calib3d.hpp"
#include "opencv2/xfeatures2d.hpp"
我的代码是本教程中 99% 的代码:http://docs.opencv.org/3.0-beta/doc/tutorials/features2d/feature_homography/feature_homography.html
很可能您没有包含所需的 header 文件。
Opencv c++ api 的主要 header 在 opencv.hpp
中,而您具体要求的函数 (cv::line
) 在 imgproc.hpp
中(这是也包括在最一般的 opencv.hpp
)
我正在学习的教程包含如下代码:
line( img_matches, ..., ..., Scalar( 0, 255, 0), 4 );
其中 img_matches 只是一个垫子,接下来的两个参数是点,然后是颜色和宽度。对于本教程,我已经弄清楚了 OpenCV 3.1 中发生的所有其他变化,但我不知道如何画线。文档似乎暗示它只是 cv::line(...),但这没有在我的命名空间中定义,并且范围内有一个 cvLine,但它期待的不是 Mat 看起来像的东西。
我不是 C++ 程序员,所以这可能是一些基础知识。
根据要求,这是我的 headers:
#include <stdio.h>
#include <iostream>
#include "opencv2/core.hpp"
#include "opencv2/features2d.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/calib3d.hpp"
#include "opencv2/xfeatures2d.hpp"
我的代码是本教程中 99% 的代码:http://docs.opencv.org/3.0-beta/doc/tutorials/features2d/feature_homography/feature_homography.html
很可能您没有包含所需的 header 文件。
Opencv c++ api 的主要 header 在 opencv.hpp
中,而您具体要求的函数 (cv::line
) 在 imgproc.hpp
中(这是也包括在最一般的 opencv.hpp
)