最邻近算法KNN识别字符
标签:
•
文件类型: .rar
•
文件大小: 1000KB
•
下载次数: 1
•
最邻近算法KNN识别字符最邻近算法KNN识别字符最邻近算法KNN识别字符最邻近算法KNN识别字符
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4357 2018-02-03 21:07 KNN-letterscode1.cpp
文件 2570 2018-02-03 21:06 KNN-letterscode2.cpp
文件 908 2018-02-03 20:44 KNN-letterslettersa250.jpg
文件 921 2018-02-03 20:44 KNN-letterslettersa251.jpg
文件 915 2018-02-03 20:44 KNN-letterslettersa252.jpg
文件 874 2018-02-03 20:44 KNN-letterslettersa253.jpg
文件 914 2018-02-03 20:44 KNN-letterslettersa254.jpg
文件 873 2018-02-03 20:44 KNN-letterslettersa255.jpg
文件 873 2018-02-03 20:44 KNN-letterslettersa256.jpg
文件 917 2018-02-03 20:44 KNN-letterslettersa257.jpg
文件 870 2018-02-03 20:44 KNN-letterslettersa258.jpg
文件 914 2018-02-03 20:44 KNN-letterslettersa259.jpg
文件 1025 2018-02-03 20:44 KNN-lettersletters240.jpg
文件 1065 2018-02-03 20:44 KNN-lettersletters241.jpg
文件 1020 2018-02-03 20:44 KNN-lettersletters242.jpg
文件 1071 2018-02-03 20:44 KNN-lettersletters243.jpg
文件 1013 2018-02-03 20:44 KNN-lettersletters244.jpg
文件 1058 2018-02-03 20:44 KNN-lettersletters245.jpg
文件 1026 2018-02-03 20:44 KNN-lettersletters246.jpg
文件 1017 2018-02-03 20:44 KNN-lettersletters247.jpg
文件 1031 2018-02-03 20:44 KNN-lettersletters248.jpg
文件 1057 2018-02-03 20:44 KNN-lettersletters249.jpg
文件 879 2018-02-03 20:44 KNN-letterslettersc230.jpg
文件 871 2018-02-03 20:44 KNN-letterslettersc231.jpg
文件 881 2018-02-03 20:44 KNN-letterslettersc232.jpg
文件 882 2018-02-03 20:44 KNN-letterslettersc233.jpg
文件 879 2018-02-03 20:44 KNN-letterslettersc234.jpg
文件 880 2018-02-03 20:44 KNN-letterslettersc235.jpg
文件 880 2018-02-03 20:44 KNN-letterslettersc236.jpg
文件 873 2018-02-03 20:44 KNN-letterslettersc237.jpg
............此处省略264个文件信息
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace ml;
//利用KNN识别字符
int main()
{
////===============================读取训练数据===============================////
//图片共有10类
const int classSum = 26;
//每类共50张图片
const int imagesSum = 10;
//图片尺寸
const int imageRows = 33;
const int imageCols = 26;
//每一行一个训练图片
float trainingData[classSum*imagesSum][imageRows*imageCols] = {{0}};
//训练样本标签
float labels[classSum*imagesSum]={0};
for (int i = 0; i < classSum; i++)
{
//目标文件夹路径
std::string inPath = “E:\image\letters\“;
char label = ‘a‘;
int k = 0;
label = label + i;
inPath = inPath + label + “\*.jpg“;
//用于查找的句柄
long handle;
struct _finddata_t fileinfo;
//第一次查找
handle = _findfirst(inPath.c_str()&fileinfo);
if(handle == -1)
return -1;
do
{
//找到的文件的文件名
std::string imgname = “E:/image/letters/“;
imgname = imgname + label + “/“ + fileinfo.name;
//std::cout< Mat src = imread(imgname 0);
if (src.empty())
{
std::cout<<“can not load image
“< return -1;
}
//序列化后放入作为样本矩阵的一行
for(int j = 0; j {
trainingData[i*imagesSum + k][j] = (float)src.data[j];
}
// 设置样本标签
labels[i*imagesSum + k] = label;
k++;
} while (!_findnext(handle &fileinfo));
_findclose(handle);
}
//训练样本数据及对应标签
Mat trainingDataMat(classSum*imagesSum imageRows*imageCols CV_32FC1 trainingData);
Mat labelsMat(classSum*imagesSum 1 CV_32FC1 labels);
//std::cout< //std::cout<
////===============================创建KNN模型===============================////
Ptrmodel = KNearest::create();
model->setDefaultK(classSum);
model->setIsClassifier(true);
PtrtrainData = TrainData::create(trainingDataMat ROW_SAMPLE labelsMat);
model->train(trainData);
//model->save(“E:/image/KNearestModel.xml“);
////===============================预测部分===============================////
Mat src dst;
src = imread(“E:/image/image/letters.png“);
if (src.empty())
{
std::cout<<“can not load image
“< return -1;
}
dst = src.clone();
//创建感兴趣区域选取右侧10列作为预测数据
cvtColor(src src COLOR_BGR2GRAY);
blur(src src Size(99));
threshold(src src 210 255 THRESH_BINARY);
Canny(src src 20 80 3 false);
std::vector> contours;
std::vectorhierarchy;
findContours(src contours hierarchy RETR_EXTERNAL CHAIN_APPROX_SIMPLE Point(00));
for (int i = 0; i < cont
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4357 2018-02-03 21:07 KNN-letterscode1.cpp
文件 2570 2018-02-03 21:06 KNN-letterscode2.cpp
文件 908 2018-02-03 20:44 KNN-letterslettersa250.jpg
文件 921 2018-02-03 20:44 KNN-letterslettersa251.jpg
文件 915 2018-02-03 20:44 KNN-letterslettersa252.jpg
文件 874 2018-02-03 20:44 KNN-letterslettersa253.jpg
文件 914 2018-02-03 20:44 KNN-letterslettersa254.jpg
文件 873 2018-02-03 20:44 KNN-letterslettersa255.jpg
文件 873 2018-02-03 20:44 KNN-letterslettersa256.jpg
文件 917 2018-02-03 20:44 KNN-letterslettersa257.jpg
文件 870 2018-02-03 20:44 KNN-letterslettersa258.jpg
文件 914 2018-02-03 20:44 KNN-letterslettersa259.jpg
文件 1025 2018-02-03 20:44 KNN-lettersletters240.jpg
文件 1065 2018-02-03 20:44 KNN-lettersletters241.jpg
文件 1020 2018-02-03 20:44 KNN-lettersletters242.jpg
文件 1071 2018-02-03 20:44 KNN-lettersletters243.jpg
文件 1013 2018-02-03 20:44 KNN-lettersletters244.jpg
文件 1058 2018-02-03 20:44 KNN-lettersletters245.jpg
文件 1026 2018-02-03 20:44 KNN-lettersletters246.jpg
文件 1017 2018-02-03 20:44 KNN-lettersletters247.jpg
文件 1031 2018-02-03 20:44 KNN-lettersletters248.jpg
文件 1057 2018-02-03 20:44 KNN-lettersletters249.jpg
文件 879 2018-02-03 20:44 KNN-letterslettersc230.jpg
文件 871 2018-02-03 20:44 KNN-letterslettersc231.jpg
文件 881 2018-02-03 20:44 KNN-letterslettersc232.jpg
文件 882 2018-02-03 20:44 KNN-letterslettersc233.jpg
文件 879 2018-02-03 20:44 KNN-letterslettersc234.jpg
文件 880 2018-02-03 20:44 KNN-letterslettersc235.jpg
文件 880 2018-02-03 20:44 KNN-letterslettersc236.jpg
文件 873 2018-02-03 20:44 KNN-letterslettersc237.jpg
............此处省略264个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)