当前位置: 首页 > news >正文

三门峡市网站建设_网站建设公司_展示型网站_seo优化

网站开发旅游前台模板,网站结构怎么做,seo工具优化软件,线下推广的方式有哪些今天在弄一个查找连通的最大面积的问题。要把图像弄成黑底#xff0c;白字#xff0c;这样才可以正确找到。然后调用下边的方法#xff1a;RETR_CCOMP:提取所有轮廓#xff0c;并将轮廓组织成双层结构(two-level hierarchy),顶层为连通域的外围边界#xff0c;次层位内层边…今天在弄一个查找连通的最大面积的问题。要把图像弄成黑底白字这样才可以正确找到。然后调用下边的方法RETR_CCOMP:提取所有轮廓并将轮廓组织成双层结构(two-level hierarchy),顶层为连通域的外围边界次层位内层边界#include #include using namespace cv;using namespace std;int main( int argc, char** argv ){Mat src imread( argv[1] );int largest_area0;int largest_contour_index0;Rect bounding_rect;Mat thr;cvtColor( src, thr, COLOR_BGR2GRAY ); //Convert to graythreshold( thr, thr, 125, 255, THRESH_BINARY ); //Threshold the graybitwise_not(thr,thr); //这里先变反转颜色vector contours; // Vector for storing contoursfindContours( thr, contours, RETR_CCOMP, CHAIN_APPROX_SIMPLE ); // Find the contours in the imagefor( size_t i 0; i contours.size(); i ) // iterate through each contour.{double area contourArea( contours[i] ); // Find the area of contourif( area largest_area ){largest_area area;largest_contour_index i; //Store the index of largest contourbounding_rect boundingRect( contours[i] ); // Find the bounding rectangle for biggest contour}}drawContours( src, contours,largest_contour_index, Scalar( 0, 255, 0 ), 2 ); // Draw the largest contour using previously stored index.imshow( result, src );waitKey();return 0;}方法二 connectedComponentsWithStatsstd::pair int , int MaxAreaFromSource(Mat srcImage, Mat dstImage, int index){/*vector contours; // Vector for storing contoursint largest_area0;size_t largest_contour_index0;Rect bounding_rect;findContours( srcImage, contours, RETR_CCOMP, CHAIN_APPROX_SIMPLE ); // Find the contours in the imagefor( size_t i 0; i contours.size(); i ) // iterate through each contour.{double area contourArea( contours[i] ); // Find the area of contourif( area largest_area ){largest_area area;largest_contour_index i; //Store the index of largest contourbounding_rect boundingRect( contours[i] ); // Find the bounding rectangle for biggest contour}}Mat dst;cvtColor(srcImage, dst, CV_GRAY2RGB);drawContours( dst, contours,largest_contour_index, Scalar( 0, 255, 0 ), 2 ); // Draw the largest contour using previously stored index.imshow( result, dst );waitKey();printf(%%%%%%%%%%%max area:%d\n, largest_area);return make_pair( largest_area, index);*/cv::Mat img_bool, labels, stats, centroids, img_color, img_gray;//连通域计算int nccomps cv::connectedComponentsWithStats (srcImage, //二值图像labels, //和原图一样大的标记图stats, //nccomps×5的矩阵 表示每个连通区域的外接矩形和面积(pixel)centroids //nccomps×2的矩阵 表示每个连通区域的质心);//cv::imshow(labels, labels);//cv::waitKey();vector:vec3b colors(nccomps);colors[0] cv::Vec3b(0,0,0); // background pixels remain black.printf( index:%d\n,index );vector int vec_width,vec_area,vec_height;for(int label 1; label nccomps; label){colors[label] cv::Vec3b( (std::rand()255), (std::rand()255), (std::rand()255) );std::cout Component label std::endl;std::cout CC_STAT_LEFT stats.at(label,cv::CC_STAT_LEFT) std::endl;std::cout CC_STAT_TOP stats.at(label,cv::CC_STAT_TOP) std::endl;std::cout CC_STAT_WIDTH stats.at(label,cv::CC_STAT_WIDTH) std::endl;std::cout CC_STAT_HEIGHT stats.at(label,cv::CC_STAT_HEIGHT) std::endl;std::cout CC_STAT_AREA stats.at(label,cv::CC_STAT_AREA) std::endl;std::cout CENTER ( centroids.at(label, 0) (label, 1) ) std::endl std::endl;int area stats.at(label,cv::CC_STAT_AREA);int left stats.at(label,cv::CC_STAT_LEFT);int top stats.at(label,cv::CC_STAT_TOP);int width stats.at(label,cv::CC_STAT_WIDTH);int height stats.at(label,cv::CC_STAT_HEIGHT);vec_area.push_back(area);vec_width.push_back(width);vec_height.push_back(height);}vector::iterator bigwidth std::max_element(std::begin(vec_width), std::end(vec_width));vector::iterator bigheight std::max_element(std::begin(vec_height), std::end(vec_height));vector::iterator bigarea std::max_element(std::begin(vec_area), std::end(vec_area));//printf( area:%d------------width:%d height:%d \n, *bigarea, *bigwidth, *bigheight );//按照label值对不同的连通域进行着色img_color cv::Mat::zeros(srcImage.size(), CV_8UC3);for( int y 0; y img_color.rows; y )for( int x 0; x img_color.cols; x ){int label labels.at(y, x);CV_Assert(0 label label nccomps);img_color.at:vec3b(y, x) colors[label];}cv::imshow(color, img_color);cv::waitKey();return make_pair( *bigarea , index );}我先用这个函数实现了一下效果正确还是opencv demo 是正确的网上找了个例子害死我了。说明一下方法一 比 第二种方法 运行速度快很多哦 这一点很重要。以上这篇opencv 查找连通区域 最大面积实例就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持随便开发网。
http://www.ihoyoo.com/news/33108.html

相关文章:

  • 如何做网站微信小程序如何查网站的外链
  • 广州市城乡建设部网站首页网站建设怎样中英文
  • 金坛区住房城乡建设局网站珠海专业网站制作平台
  • 电子商务网站的设计要求包括社交新零售
  • 为什么我的网站只有新闻业被收录纯文字logo在线制作
  • 做啥网站比较好赚钱基于html5个人网站设计论文
  • 个人网站怎么填写如何获取网站根目录链接
  • ui设计作品欣赏网站wordpress设置固定链接
  • o2o网站功能wordpress多语言子域名
  • 网站建设小说泾川网站城镇建设规化图
  • 怎样建设个自己的网站建设部一建注册网站
  • 做百度网站网站排名赚钱吗网站后台上传文章格式
  • 小城天长网站建设沈阳京科医院是正规医院吗
  • 网站制作前必须做的事情有哪些云服务器哪家最便宜
  • 手机网站会员识别功能国外采购网站大全
  • 深圳外贸网站建设口报关nas云存储做视频网站
  • 网站设计息河南郑州做网站的公司
  • 南京app网站开发公司长沙旅游十大必去景区
  • 做透水砖的网站徐州手机网站开发公司
  • 大连建设工程网站洛可可设计公司现状
  • 淄博市建设档案馆网站wordpress uc点赞
  • asp.net企业网站设计dedecmsv5.6 qq空间网站模板
  • 百度网盘做网站艺术网站建设公司
  • 全国建设部网站官网网站建设费属哪个费用
  • 注册公司的网站母婴门户网站模板
  • 网站制作服务残联网站建设概况
  • 网站开发工程师公司wordpress 毛玻璃
  • 品牌网站策划书图书馆建设网站打不开
  • 建设银行淮安招聘网站益阳市住房和建设局 网站
  • 做网站设计要多少钱网站建设与管理实训心得