请问matlab中 textread的具体操作用法

wangll723 2010-06-07 03:52:40
如题,textread的具体操作方法?
谢谢~
...全文
97 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于MATLAB的车牌字符识别源码+项目说明.zip # 基于Matlab的车牌字符识别 # 文件说明: ### 无数据扩充程序:Featrue1.m-Featrue6.m,test.m,Char_Index.txt ### 有数据扩充程序:Featrue11.m-Featrue66.m,test1.m,Char_Index_kuochong.txt ### main.m为主程序,Char_Index_Err.txt为需要人工校正的字符名称列表 ## 使用工具:Matlab,libsvm3.2.2 本文主要通过以下几个方面进行介绍: - **数据预处理** - **特征提取** - **模型训练与测试** - **模型优化** 本案例是通过SVM分类器对样本进行训练与测试,达到识别车牌字母、数字及汉字的目的。关于SVM的原理这里就不多赘述了,想了解的同学可以看下陈老师的SVM讲解,写的细致且易懂。 [耳东陈:零基础学SVM—Support Vector Machine(一)](https://zhuanlan.zhihu.com/p/24638007) 数据集是已经分割好的车牌字符,共有1000张车牌字符图片,大小均为47*92,两个txt文本文件分别包含所有字符和需要手工校正的字符图片的名字及对应的类别。 ### 1.数据预处理 将字符图像进行二值化操作,将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程,而在Matlab,一幅二值图像是一个取值只有0和1的逻辑数组。通常做法是先把彩色图像转化为灰度图像,再转化为呈现黑白的二值图像,此处我是直接将彩色RGB图转化为二值图,因为与后面的手工校正相关联。当转化完你会发现,大部分字符图像变为黑底白字,但是还有小部分为白底黑字,所以还需将此部分的图像进行反转处理,代码如下: ``` %读取文件 [input1, input2, input3] = textread('Char_Index.txt','%d %d %s',1000, 'headerlines',1); indexFileName = input3; for k=1:1000 A=imread(strcat('Char_Image/',char(indexFileName(k,1)))); t=graythresh(A);%设置阈值 B=im2bw(A,t);%将灰度图转化为二值图 %以图像左上角为原点,向下为x轴,向右为y轴,四个角的值大于等于2,即有2及以上为白点的,进行反转 [a,b]=size(B); if(B(1,1)+B(1,b)+B(a,1)+B(a,b)>=2) for i=1:a for j=1:b B(i,j)=1-B(i,j); end end end imwrite(B,strcat('Char_Image_Binary/',char(indexFileName(k,1)))); end ``` 经过上述步骤(二值化,反转),大部分字符已经转为黑底白字,但仍有小部分顽固字符宁死不屈,这里便进行人工校正。你可能会认为人工参与成本高,仅限于小数据量样本,并且项目上线后会不断地产生同样问题,所以这并完美,那么设想下,如果能实现全自动不就解决此问题了吗?该采取什么方法?这里先卖个关子,后面优化部分会跟大家分享。下图为人工筛选出的白底黑字部分字符名称。 这里要做的,仅仅是将这14张字符进行图片反转即可,最终得到全部的黑底白字的车牌字,代码如下: ``` [input] = textread('Char_Index_Err.txt','%s',14); indexFileName = input; for k=1:14 A=imread(strcat('Char_Image_Binary/',char(indexFileName(k,1)))); t=graythresh(A); B=im2bw(A,t); [a,b]=size(B); for i=1:a for j=1:b B(i,j)=1-B(i,j); end end imwrite(B,strcat('Char_Image

3,422

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧