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());
}
}