opencv-connectedComponents连通区域标识

1.png图片

 

 

    cv::Mat roiImg = cv::imread("D:/bb/tu1/1.png");
        
    cv::Mat thrImg;
    cvtColor(roiImg, thrImg, cv::COLOR_BGR2GRAY);
    
    cv::threshold(thrImg, thrImg, 0, 255, cv::THRESH_OTSU);
    
    cv::namedWindow("roiImg1", cv::WINDOW_NORMAL);
    cv::imshow("roiImg1", thrImg);

    cv::Mat out;
    int number = cv::connectedComponents(thrImg, out, 8, CV_16U);  //连通区域标识
    //作用:二值图中不同连通域用不同数值来表示,0是背景区域
    //参数1:输入图像--必须二值图
    //参数2:输出图像
    //参数3:连通区域计算方式(4连通 or 8连通)
    //参数4:图像类型(CV_16U or CV_32S)
    //返回值:目标矩阵中有几种数据



    std::cerr << thrImg << std::endl;
    std::cerr << out << std::endl;
    std::cerr << "number=" << number << std::endl;

    cv::waitKey();

 

 

 

 

 

 

posted @ 2021-10-23 19:15  天子骄龙  阅读(394)  评论(0编辑  收藏  举报