我正在处理以下代码:
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
int main()
{
VideoCapture *camera = new VideoCapture();
camera->open(0);
if(!camera->isOpened())
{
cout << "No Camera" << endl;
return -1;
}
Mat image,blur,canny;
namedWindow("Video");
while(true)
{
*camera>>image;
imshow("Video",image);
cv::GaussianBlur(image,blur,Size(7,7),1.5,1.5);
cv::Canny(blur,canny,0,30,3);
imshow("cANNY",canny);
if(waitKey(30)>=0)
{
break;
}
}
return 0;
}
此代码生成以下 2 个输出
原来的:
精明:
正如你所看到的,canny 已经检测到很多甚至不存在的边缘。如果这是网络摄像头每秒帧数的问题,我应该使用哪种网络摄像头?每秒多少帧?我已经使用 DELL Inspiron 4030 中的默认网络摄像头和另一个 USB 2.0 网络摄像头对此进行了测试。两个结果是一样的。
如果这是代码的问题,我该如何解决?
我的下一个目标是背景减法,我觉得这些不需要的东西可能会让我失望。