我正在为一个最终将涉及对象跟踪等的工作项目自学 OpenCV,而我现在只是想熟悉基础知识。我有一段代码旨在简单地从我的网络摄像头中抓取图像,将它们转换为灰度和阈值,然后将它们打印到窗口中。我不断收到此错误:
“无法将参数 1 从 'cv::Mat' 转换为 'const CvArr *'”
使用此代码:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat img;
VideoCapture cap(0);
while (true)
{
cap >> img;
Mat tHold;
cvtColor(img, tHold, CV_BGR2GRAY);
cvThreshold(tHold, tHold, 50, 255, CV_THRESH_BINARY);
imshow("Thresholded Image", tHold);
waitKey(1);
}
return 0;
}
问题是其他函数似乎可以工作,比如 Canny() 等......我只是无法让阈值工作。想法?谢谢!