基本信息
源码名称:训练SVM分类器.zip
源码大小:7.48M
文件格式:.zip
开发语言:C/C++
更新时间:2019-03-18
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
程序一:修改文件名的程序,可以用来批处理文件将文件名修改为数字命名并写到文本文件中 程序二:SVM训练程序。
程序一:修改文件名的程序,可以用来批处理文件将文件名修改为数字命名并写到文本文件中 程序二:SVM训练程序。
#include "ChangeSamplePath.h" #include <io.h> #include <iostream> int ChangeSamplePath::_name_length = 8; ChangeSamplePath::ChangeSamplePath() { } ChangeSamplePath::ChangeSamplePath(std::string path) :_main_path(path) { initial(); } ChangeSamplePath::~ChangeSamplePath() { _neg_out.close(); _pos_out.close(); } inline void ChangeSamplePath::initial() { _neg_path = _main_path "\\neg"; _pos_path = _main_path "\\pos"; _neg_txt_path = _main_path "\\neg.txt"; _pos_txt_path = _main_path "\\pos.txt"; _neg_out.open(_neg_txt_path.c_str(), std::ios_base::out); _ASSERT(_neg_out.is_open()); _pos_out.open(_pos_txt_path.c_str(), std::ios_base::out); if (!_pos_out.is_open()) _neg_out.close(); _ASSERT(_pos_out.is_open()); } void ChangeSamplePath::setPath(std::string path) { _main_path = path; initial(); } void ChangeSamplePath::changeFileName(std::ofstream& out, std::string path) { long handler; _finddata_t file_finder; std::string file_name = path "\\*.*"; _ASSERT((handler = _findfirst(file_name.c_str(), &file_finder)) != -1); do{ if (file_finder.attrib & _A_ARCH) { std::string old_file_name(file_finder.name); int dot_index = old_file_name.find('.'); std::string new_file_name = old_file_name.substr(0, dot_index) "temp" old_file_name.substr(dot_index, old_file_name.length()); old_file_name = path "\\" old_file_name; new_file_name = path "\\" new_file_name; rename(old_file_name.c_str(), new_file_name.c_str()); } } while (_findnext(handler, &file_finder) == 0); _findclose(handler); _ASSERT((handler = _findfirst(file_name.c_str(), &file_finder)) != -1); int count = 0; do{ if (file_finder.attrib & _A_ARCH) { count ; std::string old_file_name(file_finder.name); int dot_index = old_file_name.find('.'); std::string new_file_name = generateName(count) old_file_name.substr(dot_index, old_file_name.length()); old_file_name = path "\\" old_file_name; new_file_name = path "\\" new_file_name; rename(old_file_name.c_str(), new_file_name.c_str()); out << new_file_name << std::endl; } } while (_findnext(handler, &file_finder) == 0); _findclose(handler); } void ChangeSamplePath::doChange() { //neg_samples: changeFileName(_neg_out, _neg_path); //pos_samples: changeFileName(_pos_out, _pos_path); } std::string ChangeSamplePath::generateName(int num) { char* name = new char[_name_length 1]; int count = 0; do{ count ; name[_name_length - count] = num % 10 '0'; num /= 10; } while (num != 0); for (int i = 0; i < _name_length - count; i) { name[i] = '0'; } name[_name_length] = '\0'; std::string new_name(name); delete name; return new_name; }