如何从txt文档中读取数据,并且在MATLAB中将图像显示出来 5

下图是OV7670采集到的图像并在屏上的显示下图是MATLAB显示的图像,为什么两者有那么大的差距,MATLAB的程序怎么写才可以得到清晰的图像便于我图像处理方面的工作下... 下图是OV7670采集到的图像并在屏上的显示

下图是MATLAB显示的图像,为什么两者有那么大的差距,MATLAB的程序怎么写才可以得到清晰的图像便于我图像处理方面的工作

下面的MATLAB中的程序:
length=240;width=320;
in_name='ov7670.txt';
out_name='ov7670.bmp';
pic=uint8(zeros(length,width,3));%构造一个三维矩阵,大小为240*320*3

in=textread(in_name,'%s');%从文件中读取数据
dec_data=hex2dec(in);%把字符串表示的16进制数转换成一个十进制数
% dlmwrite('dec.txt',dec_data,'','');
% dec_test=dec_data(1:320);
k=1;
for i=1:length %for i=1:240
for j=1:width %for j=1:320
H=dec_data(k,1);
if(k+1>width*length*2)
k=k-1;
else
k=k;
end
L=dec_data(k+1,1);
k=k+2;
pic(i,j,1)=(H/8)*8;
pic(i,j,2)=(mod(H,8)*8+L/32)*4;
pic(i,j,3)=(mod(L,32))*8;
end
end
figure,imshow(pic);
imwrite(pic,out_name);
希望能够得到大家的解答,谢谢各位了:
展开
 我来答
ug...4@sohu.com
推荐于2018-04-21 · TA获得超过159个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:40万
展开全部
load命令一般是对*.dat的数据文件进行读取吧! 我一般导入*.txt格式的数据文件时是先打开workspace窗口,在这个窗口的顶部有个工具按钮“Load data file...”,通过这个打开你的filename.txt文件!这种方法肯定不会有错的,你可以试试看!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dukinkin
2015-01-11 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:946万
展开全部
这样看你原来的ov7670.txt文件是按照什么规则储存的
必须要知道原来文件中每一个数据代表的意思是什么

看你得到的matlab中的图像还能大概看到图像轮廓
那么可能是解读文件的方式不对,lsb和msb顺序不对,或者是颜色表示的制式不对

至于图像方向不对,是储存顺序的问题,也是不难解决的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式