gpt4 book ai didi

c++ - 精明: Lot of unwanted edges are detected

转载 作者:行者123 更新时间:2023-11-28 00:44:21 26 4
gpt4 key购买 nike

我正在编写以下代码:

#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 个输出

原文:

enter image description here

精明:

enter image description here

如您所见,canny 已经检测到很多甚至不存在的边缘。如果这是网络摄像头每秒帧数的问题,我应该使用哪种网络摄像头?每秒多少帧?我已经使用 DELL Inspiron 4030 中的默认网络摄像头和另一个 USB 2.0 网络摄像头对此进行了测试。两个结果相同。

如果这是代码的问题,我该如何解决?

我的下一个目标是背景减法,我觉得这些不需要的东西可能会让我失望。

最佳答案

你有 threshold1==0。如果将其设置为 10,并将 blur sigma 设置为 4,那么大部分虚假线条都会消失。 (至少他们对我有用)。

使用我的网络摄像头,这些设置可以获得合理的输出:

    cv::GaussianBlur(image,blur,Size(0,0), 4);
cv::Canny(blur,canny,25,30,3);

然而,检测到的线路仍然有点嘈杂。

编辑:以下没有帮助:您可以做的另一件事是平均两个连续帧,这会将噪声降低到 70%。

(或者买更好的相机)

关于c++ - 精明: Lot of unwanted edges are detected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com