matlab-sift-bow-svm图片分类(2)——使用自己的数据集进行实验

博主在使用MATLAB实现SIFT-BOW-SVM图片分类时遇到了中文乱码、结果异常、MAT文件加载错误和do_assignment.m文件缺失等问题。通过修改代码和调整参数,成功解决了这些问题。主要包括使用UTF-8读取txt文件,检查图片格式和文件夹名称,增加加载错误处理,以及调整CalculateDictionary.m中迭代次数和保存条件。最终,实现了对大型数据集的图片分类。
摘要由CSDN通过智能技术生成


上一篇博客: https://blog.csdn.net/qigeyonghuming_1/article/details/117355689
整理了这个demo是如何调通的,那么怎么用这个代码来跑自己的数据集呢,我的思路就是把训练集和测试集里面的数据换成自己的,然后路径啥的、label.txt也改一改,然后按照上一篇的思路,应该就能跑出来了。结果理想很美好,debug很漫长。
这里只说明我遇到的问题,很多细节在上一篇博客中,不再过多地讲一遍了

这里只列出大佬的GitHub的源码,我的就是在这个基础上改动的(其实上一篇博客中也有列出了,这里再列一遍):https://github.com/lipiji/PG_BOW_DEMO

问题1 :数据准备阶段:中文乱码

问题1:运行prepare_training.m时,出现中文乱码,(我的图片名是中文,路径也有中文,各个类的类别也是中文)
解决方法:打开时用fopen(‘labels.txt’,‘r’,‘n’,‘UTF-8’) 用UTF-8方式读取txt文件

% feature('locale') %查找当前的字符集设置
% feature('DefaultCharacterSet', 'UTF8');%加这句话,否则中文乱码,但这样改了以后,matlab的.m文件中路径都不能用中文,原先的编码方式不知怎么改回来,头痛
% 
file_label = fopen('labels.txt','r','n','UTF-8');%指定以utf8编码来读取txt,中文不乱码
% file_label 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值