ImageProcessing Project
把Imagedata文件名都转换成英文,把原先的图像数据集里面不规范的文件名都修改规范了,每个类别里面的sift文件夹,是我提取出来的sift文件
主体: final.cpp 将之前的所有工作整合好
其他:
extract.cpp:
- 使用一部分数据作为训练集,对其中每张图片提取SIFT特征。
- 将所有提取出来的SIFT特征混在一起,用kmeans将其分为K类,也就是K个词汇。
- 用生成的词汇集去处理原先的图片集合,对原先的每张图片重新计算出一个K维的特征向量。每个维度是词汇集中词汇出现的次数。
- 用生成的K维特征向量,写到文件里面。
注意:这个k维向量在标准化之后就变成了和为1的频率,所以每一维都是一个浮点数
learn.cpp
- 从文件中再把特征读出来
- 暂时打算用SVM训练
main.cpp
- 整合前面两个cpp,去掉了写进文件的过程。生成完特征直接先比较
- 但是要十折交叉验证的话,还是需要先
extract feature
- 将
wordCount
参数和SVM
参数调整,向量维数更高的时候效果更好
这边已经被我放弃了
parameters & function:
-
mySVM[5]:
设置了五层分类器 -
PresetLabels:
我假想的SVM是个二叉树形的判别器,所以为每个节点预设了被五层判别器被判别的结果 -
WriteData:
将Mat数据写入相应文件