91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 2 次
    發(fā)布日期: 2021-05-28
  • 語言: C/C++
  • 標(biāo)簽: 視覺識別??

資源簡介

基于opencv,利用hsv顏色空間識別出特定水果,并且根據(jù)水果面積及形狀進(jìn)行篩選,識別出水果,內(nèi)含詳細(xì)備注

資源截圖

代碼片段和文件信息


#include???
#include?“opencv2/highgui/highgui.hpp“??
#include?“opencv2/imgproc/imgproc.hpp“????
using?namespace?cv;??
using?namespace?std;?
int?b;

?Mat?draw(Mat?imagevector?>?contours)
?{
Mat?result(image.size()CV_8UScalar(255));
drawContours(resultcontours-1Scalar(0)1);
return?result;
?}
?void?getContours(Mat?image)
?{??

??Mat?element=getStructuringElement(MORPH_RECTSize(22));
??????erode(imageimageelementPoint(-1-1)1);?????//腐蝕
??//imshow(“腐蝕“image);
??Mat?element1=getStructuringElement(MORPH_RECTSize(22));
??????dilate(imageimageelement1Point(-1-1)10);???//膨脹
??????//imshow(“膨脹“image);
??????Mat?srs3;
??image.copyTo(srs3);//把image復(fù)制給srs3
??//imshow(“hh“srs3);
??vector>?contours;
??findContours(imagecontoursRETR_LISTCHAIN_APPROX_NONE);
??//imshow(“qqq“image);
??????Mat?result(image.size()CV_8UScalar(255));//定義一個空白的圖片
??for(int?i=0;i ??{
???drawContours(resultcontours-1Scalar(0)2);
??}
??????imshow(“ddd“result);

??????size_t?maxSize=0;//存放最大輪廓
???vector?maxContour;

vector>::const_iterator?itc=contours.begin();

???/*????while(itc!=contours.end())
{?
if?(itc->size()?size()?>?3000)
????{
???????????itc?=?contours.erase(itc);???//?刪除當(dāng)前連通域輪廓?250為最小輪廓長?2000為最大輪廓長
????}
else?if(((double)boundingRect(Mat(*itc)).height)/((double)boundingRect(Mat(*itc)).width)>1||
?((double)boundingRect(Mat(*itc)).height)/((double)boundingRect(Mat(*itc)).width)<0.5)
{itc=contours.erase(itc);}
else
{itc++;}???

}*/
?while(itc!=contours.end())
???????{
???????????if(itc->size()>maxSize)
???????????{
???????????????maxSize=itc->size();
???????????????maxContour=*itc;
???????????}
???????????++itc;
???????}
???????itc?=?contours.begin();
???????while(itc!=?contours.end())?
???{?????????????//Eliminate?smaller?contours
????????????if(itc->size()???????????????itc=contours.erase(itc);
??????????????else
?????????????++itc;
???????????}

cout< imshow(“333“draw(imagecontours));//排除了沒有用的信息

?Mat?image_dst=draw(imagecontours).clone();
????Rect*r=new?Rect[contours.

評論

共有 條評論