Qt打開USB攝像頭做形狀檢測

Qt打開USB攝像頭做形狀檢測,上次做圓檢測。

Qt打開USB攝像頭,做圓檢測

在上文的基礎上,添加一個函數,

void contours(Mat image);

直接上程序:

//形狀檢測
void MainWindow::contours(Mat image)
{
    vector<vector<Point> > contours;
    vector<Vec4i> hierarchy;

    Mat srcImage=image.clone();
    cvtColor(srcImage,srcImage,CV_BGR2GRAY);
    blur(srcImage,srcImage,Size(3,3));
    Canny(srcImage,srcImage,100,200,3);
    findContours(srcImage,contours,hierarchy,CV_RETR_TREE,CV_CHAIN_APPROX_SIMPLE,Point(0,0));
    for(int i=0;i<contours.size();i++)
    {
        Scalar color=Scalar(255,0,0);
        drawContours(image,contours,i,color,2,8,hierarchy,0,Point());
    }
}

效果圖:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章