欢迎来到天天文库
浏览记录
ID:27502031
大小:144.50 KB
页数:6页
时间:2018-12-04
《Zedboard甲诊opencv图像处理(二).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Zedboard甲诊opencv图像处理(二) 通过前面的努力已经得到了n个轮廓了,现在要把最终的轮廓确定下来,然后进行特征提取。 先深入分析下轮廓和处理轮廓的方法: 之前其实我尝试了用cv::grabCutfuncTIon把前景图像提取出来,但是这个方法需要的人工操作还是有点多,至少我这里没办法用。所以又放弃了。先来看看cvApproxPoly()函数吧, 然后还有曲线拟合的方法: 总之还是尝试吧,谁让我菜呢! 首先我采用了形态学处理的方法,进行闭操作,先进行膨胀,然后腐蚀,然后closed,对处理后的二值图像进行最大轮廓查找,去掉其他的轮廓
2、。如果光照处理好的情况下,效果还不错: 但是貌似不是很稳定啊,换个指甲效果就没这么好了。还有就是就算我能处理程这样,还有两条手指头的边界很麻烦啊,需要去掉。当然我还要把最差的效果显示一下: MatWidget::FindmaxCounters(Matimage){vectorcontours;vectormaxContour;vector::iteratoritc;Matdst=Mat::zeros(image.rows,image.cols,CV_8U);findContours(image,contours,CV_RETR_EXTE
3、RNAL,CV_CHAIN_APPROX_NONE);//找到最大的轮廓size_tmaxSize=0;itc=contours.begin();while(itc!=contours.end()){if(itc->size()>maxSize){maxSize=itc->size();maxContour=*itc;}++itc;}itc=contours.begin();while(itc!=contours.end()){//Eliminatesmallercontoursif(itc->size()label_9->setAlignment(Qt:
4、:AlignCenter);//设置字居中显示ui->label_9->setFont(ft);//放到QLabel上显示ui->label_9->setText(str1);ui->label_9->show();drawContours(dst,contours,0,Scalar(255),CV_FILLED);//CvRects;//CvPointpt;//vectorcontours;//Matdst=Mat::zeros(grayimage.rows,grayimage.cols,CV_8U);//findContours(grayimage,c
5、ontours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);//s=cv::boundingRect(contours);//pt=cvPoint(s.x+s.width/2,s.y+s.height/2);//-------可以用其他方式获得连通域的一个内点作为起始种子点//cv::floodFill(dst,pt,cvScalarAll(255));returndst;}
此文档下载收益归作者所有