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

  • 大小: 164KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-05
  • 語言: 其他
  • 標簽: 數字識別??

資源簡介

本資源為印刷體數字識別程序,使用opencv庫,經過本人驗證可用。

資源截圖

代碼片段和文件信息

#include?“opencv2/ml/ml.hpp“
#include?“opencv2/highgui/highgui.hpp“
#include?“opencv2/imgproc/imgproc.hpp“
#include?
#include?

using?namespace?cv;
using?namespace?std;

const?int?train_samples?=?1;
const?int?classes?=?10;
const?int?sizex?=?20;
const?int?sizey?=?30;
const?int?ImageSize?=?sizex?*?sizey;
char?pathToImages[]?=?“./images“;

void?PreProcessImage(Mat?*inImageMat?*outImageint?sizex?int?sizey);
void?LearnFromImages(CvMat*?trainData?CvMat*?trainClasses);
void?RunSelfTest(KNearest&?knn2);
void?AnalyseImage(KNearest?knearest);
/**?@function?main?*/
int?main(int?argc?char**?argv)
{

?CvMat*?trainData?=?cvCreateMat(classes?*?train_samplesImageSize?CV_32FC1);
?CvMat*?trainClasses?=?cvCreateMat(classes?*?train_samples?1?CV_32FC1);

?namedWindow(“single“?CV_WINDOW_AUTOSIZE);
?namedWindow(“all“CV_WINDOW_AUTOSIZE);

?LearnFromImages(trainData?trainClasses);

?KNearest?knearest(trainData?trainClasses);

?RunSelfTest(knearest);

?cout?<
?AnalyseImage(knearest);

?return?0;

}

void?PreProcessImage(Mat?*inImageMat?*outImageint?sizex?int?sizey)
{
?Mat?grayImageblurredImagethresholdImagecontourImageregionOfInterest;

?vector?>?contours;

?cvtColor(*inImagegrayImage??COLOR_BGR2GRAY);

?GaussianBlur(grayImage?blurredImage?Size(5?5)?2?2);
?adaptiveThreshold(blurredImage?thresholdImage?255?1?1?11?2);

?thresholdImage.copyTo(contourImage);

?findContours(contourImage?contours?RETR_LIST?CHAIN_APPROX_SIMPLE);

?int?idx?=?0;
?size_t?area?=?0;
?for?(size_t?i?=?0;?i??{
??if?(area???{
???idx?=?i;
???area?=?contours[i].size();
??}
?}

?Rect?rec?=?boundingRect(contours[idx]);

?regionOfInterest?=?thresholdImage(rec);

?resize(regionOfInterest*outImage?Size(sizex?sizey));

}

void?LearnFromImages(CvMat*?trainData?CvMat*?trainClasses)
{
?Mat?img;
?char?file[255];
?for?(int?i?=?0;?i??{
??sprintf(file?“%s/%d.png“?pathToImages?i);
??img?=?imread(file?1);
??if?(!img.data)
??{
????cout?<????exit(1);
??}
??Mat?outfile;
??PreProcessImage(&img?&outfile?sizex?sizey);
??for?(int?n?=?0;?n???{
???trainData->data.fl[i?*?ImageSize?+?n]?=?outfile.data[n];
??}
??trainClasses->data.fl[i]?=?i;
?}

}

void?RunSelfTest(KNearest&?knn2)
{
?Mat?img;
?CvMat*?sample2?=?cvCreateMat(1?ImageSize?CV_32FC1);
?//?SelfTest
?char?file[255];
?int?z?=?0;
?while?(z++??{
??int?iSecret?=?rand()?%?10;
??//cout?<??sprintf(file?“%s/%d.png“?pathToImages?iSecret);
??img?=?imread(file?1);
??Mat?stagedImage;
??PreProcessImage(&img?&stagedImage?sizex?sizey);
??for?(int?n?=?0;?n???{
???sample2->data.fl[n]?=?stagedImage.data[n];
??}
??float?detectedClass?=?knn2.find_nearest(sample2?1);
??if?(iSecret?!=?(int)?((detectedClass)))
??{
???cout?<?????<???exit(1);
??}
??cout?<

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1699??2015-03-14?09:09??digit_recognition\images\0.png
?????文件????????1012??2015-03-14?09:09??digit_recognition\images\1.png
?????文件????????1569??2015-03-14?09:09??digit_recognition\images\2.png
?????文件????????1554??2015-03-14?09:10??digit_recognition\images\3.png
?????文件????????1393??2015-03-14?09:10??digit_recognition\images\4.png
?????文件????????1597??2015-03-14?09:10??digit_recognition\images\5.png
?????文件????????1532??2015-03-14?09:10??digit_recognition\images\6.png
?????文件????????1189??2015-03-14?09:10??digit_recognition\images\7.png
?????文件??????147997??2015-03-14?09:02??digit_recognition\images\buchstaben.png
?????文件????????1595??2015-03-14?09:10??digit_recognition\images\8.png
?????文件????????1645??2015-03-14?09:10??digit_recognition\images\9.png
?????文件????????4272??2015-03-14?09:19??digit_recognition\digit_recog.cpp
?????文件????????1446??2015-03-14?09:07??digit_recognition\Makefile~
?????文件?????????165??2015-03-14?09:24??digit_recognition\Makefile
?????目錄???????????0??2015-03-14?09:12??digit_recognition\images\
?????目錄???????????0??2015-03-14?09:24??digit_recognition\

評論

共有 條評論