資源簡介
svm訓練圖像,圖片自動導入,批量導入,訓練圖像............
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?“opencv2/imgcodecs.hpp“
#include?
#include?
#include?
#include?
using?namespace?std;
using?namespace?cv;
using?namespace?cv::ml;
char?filename[100];
int?pos_num=42;
int?neg_num=51;
//計時器
double?cost_time_;
clock_t?start_time_;
clock_t?end_time_;
int?main()
{
????//---------------------?1.?Set?up?training?data?---------------------------------------
??????int???train_sample_count?=?pos_num+neg_num;
??????int???train_sample_width=40;
??int???train_sample_height=40;
??????int???train_sample_size?=?train_sample_width*train_sample_height;????//維度
??????int?labels[train_sample_count]?;
??????float?trainingData[train_sample_count][train_sample_size];
??????for(int?i?=?0;?i? ?????{
???? ??if(i ???? ??else?labels[i]=2;
??????????if(i ??????????sprintf(filename“/home/sh/桌面/positive_images/%d.png“i);
??????????else
??????????sprintf(filename“/home/sh/桌面/negative_images/%d.png“i-pos_num);
??????????Mat?s?=imread(filename?0);
??????????Mat?dst;
??????????if?(!s.data)
?????????????{
?????????????????cout?<“No?Image!!!“?< ?????????????????return?0;
?????????????}
??????????else
???????? ??cout<<“Finished?reading?image“<
???????????resize(?s?dst?Size(train_sample_width?train_sample_height)?0?0?INTER_LINEAR?);
??????????for?(int?row=0;row ??????????{
???????? ??uchar*?ptr=dst.ptr(row);
???????????????for?(int?cols=0;cols ??????????????{
???????????? ???trainingData[i][row*train_sample_width+cols]=ptr[cols];
??????????????}
??????????}
?????}
????Mat?labelsMat(train_sample_count?1?CV_32SC1?labels);
????Mat?trainingDataMat(tr
- 上一篇:A*算法vc++源碼
- 下一篇:去邊法 構造最小生成樹 C語言
評論
共有 條評論