读取的ov7670(带FIFO)的数据显示出来一直是花屏状态,求大家帮忙分析一下原因

2019-07-21 03:48发布

将数据打印至串口助手,然后使用matlab显示,一直是这种花屏状态。ov7670寄存器初始化显示没有问题,求大家帮忙分析一下这是什么原因。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
DreamWaterPro
1楼-- · 2019-07-21 20:10
samiyate 发表于 2017-12-4 17:04
正常显示情况下,略微能看出非常模糊的 {MOD}彩。照片的 {MOD}彩会随着外面事物颜 {MOD}的不同而变化,但显示非常模糊, ...

咦,我倒是觉得可能是这样的情况,摄像头输出的图像是按照行输出的,比方说是320个像素;但是在MATLAB上处理的时候,可能是认为一行只有240个像素,导致显示错位。

既然你的画面颜 {MOD}正确,而且也可以根据摄像头拍摄东西的变化而变化,我猜想类似于这种显示错位的情况的可能性会比较大。
samiyate
2楼-- · 2019-07-22 01:24
DreamWaterPro 发表于 2017-12-4 19:48
咦,我倒是觉得可能是这样的情况,摄像头输出的图像是按照行输出的,比方说是320个像素;但是在MATLAB上 ...

非常感谢您的回复,根据您的建议,我又检查了一遍我的MATLAB程序,发现确实像素颠倒了,但我调过来之后却依然没有清晰的图像 caitaogengz.jpg 这是更正后的彩条图像,从串口打印出的数据来看,确实是数据有问题。 调整后.jpg 这个图是调整后正常配置的图像,依然是特别乱。。[mw_shl_code=c,true]
str3 = textread('565.txt','%s','delimiter',',');%从txt文件中读取图像的16进制数据
str4 = dec2bin(hex2dec(str3),16); % 转换成二进制数据
%将RGB565格式转换成RGB24
R = reshape(bin2dec(str4(:,1:5)),320,240); % R,从rgb565数据中取出R数据
R = uint8(bitshift(R',3));
G = reshape(bin2dec(str4(:,6:11)),320,240); % G,从rgb565数据中取出G数据
G = uint8(bitshift(G',2));
B = reshape(bin2dec(str4(:,12:16)),320,240); % B,从rgb565数据中取出B数据
B = uint8(bitshift(B',3));
im = cat(3,R,G,B); % combine RGB
imshow(im,[]); % show, custom[/mw_shl_code]

这是我从网上找到的matlab程序,已经更正为320×240的显示程序,原本为240×320的。
wxCwz444
3楼-- · 2019-07-22 03:42
兄弟  怎么解决的啊   哪方面问题?
往事啊
4楼-- · 2019-07-22 05:35
 精彩回答 2  元偷偷看……
xqq27
5楼-- · 2019-07-22 06:41
楼主解决了嘛?我现在也跟你出现一样的问题。。。

一周热门 更多>