Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用opencv在python中实时检测圆_Python_Opencv - Fatal编程技术网

使用opencv在python中实时检测圆

使用opencv在python中实时检测圆,python,opencv,Python,Opencv,我在做这个运动检测的项目,然后我发现需要识别一个物体 但我在这一切的图像处理方面都很在行 你能给我看看python opencv(主要是houghcircles)的VideoCapture()函数中圆检测的源代码吗 p、 s.plz不提供需要在视频中检测的图像中的圆圈检测代码,我目前正在通过网络摄像头拍摄该视频C++视频中圆圈检测代码 #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hp

我在做这个运动检测的项目,然后我发现需要识别一个物体 但我在这一切的图像处理方面都很在行

你能给我看看python opencv(主要是houghcircles)的VideoCapture()函数中圆检测的源代码吗


p、 s.plz不提供需要在视频中检测的图像中的圆圈检测代码,我目前正在通过网络摄像头拍摄该视频

C++视频中圆圈检测代码

 #include<opencv2/core/core.hpp>
    #include<opencv2/highgui/highgui.hpp>
    #include<opencv2/imgproc/imgproc.hpp>
    #include<vector>
    #include<iostream>
    using namespace std;
    using namespace cv;
    int main()
    {
        Mat img;
        Mat thresh;
        VideoCapture cap(0);
        vector<Vec3f>circles;   
        for(;;)
            {
                cap>>img;
                cvtColor(img,img,CV_BGR2GRAY);
                GaussianBlur(img,img,Size(5,5),2,2);//smoothing reduces false positives
                threshold(img,thresh,130,255,THRESH_BINARY);
                HoughCircles(thresh,circles,CV_HOUGH_GRADIENT,2,img.rows/5,200,100);
                cvtColor(img,img,CV_GRAY2BGR);
                for(int i=0;i<(int)circles.size();i++)
                {
                    Point center=Point((int)circles[i][0],(int)circles[i][1]);          
                    int radius=(int)circles[i][2];              
                    circle(img,center,radius,Scalar(255,255,0),4);
                }
                imshow("img",img);
                imshow("thresh",thresh);
                char c=waitKey(10);
                if(c=='b' || c=='B'){
                    break;  
                }
            }
        return 0;
    }
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
使用名称空间cv;
int main()
{
Mat-img;
垫式脱粒机;
视频捕获上限(0);
矢量圆;
对于(;;)
{
cap>>img;
CVT颜色(img、img、CV_bgr2灰色);
高斯模糊(img,img,大小(5,5,2,2);//平滑减少误报
阈值(img,thresh,130255,thresh_二进制);
HOUGH圆(阈值、圆、CV_HOUGH_梯度、2、图像行/520100);
CVT颜色(img、img、CV_GRAY2BGR);

对于(int i=0;ia视频只是一系列图像,因此,如果您知道如何检测图像中的圆,并且知道如何加载视频并处理其帧,您将很高兴。