搜索
bottom↓
回复: 40

OV7670+FIFO+STM32,输出图像在上位机上显示,非常不清楚

[复制链接]

出0入0汤圆

发表于 2011-8-15 16:29:21 | 显示全部楼层 |阅读模式
各位论坛朋友们
    我现在用OV7670+FIFO(AL422B)+STM32,STM32驱动OV7670工作。输出图像大小为320*240,格式为RGB565。可是当我从FIFO中读取图像数据经串品发给上位机显示时,上位机显示的图像非常的不清楚。
    以下是我上位机显示的图像。
(原文件名:未命名.jpg)
     请高手指点。
     //采集摄像头数据经USART1发给PC机显示
void data_send(void)
{
        u8 buffera[2];
        u16 val;
        rs485_s;
///////////////////////////////////////
        FIFO_GPIO_INPUT();
        FIFO_CS_L();
        FIFO_RRST_L();
    GPIOB->BRR  = FIFO_RD_BIT;  
    GPIOB->BSRR = FIFO_RD_BIT;
        FIFO_RRST_H();     
    GPIOB->BRR  = FIFO_RD_BIT;  
    GPIOB->BSRR = FIFO_RD_BIT;
///////////////////////////////////////
        for(x=0;x<240;x++)
        {
                for(y=0;y<320;y++)
                {
            GPIOB->BRR  = FIFO_RD_BIT;  
            GPIOB->BSRR = FIFO_RD_BIT;
                        val         = ((u8)GPIOA->IDR);
                        buffera[1]  = ((u8)val)>>1;
            val         =(val<<8);
            GPIOB->BRR  = FIFO_RD_BIT;  
            GPIOB->BSRR = FIFO_RD_BIT;
                        val        |= (u8)GPIOA->IDR;
            buffera[0]  = (u8)(val&0x1f)|((val>>1)&0xe0);

                        USART1->DR  = buffera[0];
                        while (!(USART1->SR & USART_FLAG_TXE));
                        USART1->DR  = buffera[1];
                        while (!(USART1->SR & USART_FLAG_TXE));
                }
        }
        while(!USART_GetFlagStatus(USART1,USART_FLAG_TC));
        rs485_r;
}

出0入0汤圆

发表于 2011-8-15 17:09:54 | 显示全部楼层
可能是delphi处理现实部分不对。。。
下面是我测式用的,我也是用OV7670,但是后来我没有直接传送RGB565数据,数据量太大了。我压缩后再传输。。你可以这样,首先不要用你自己写的串口接收程序接收数据来显示,你可以先用串口调试助手来接收数据,然后把他复制到delphi的一个数组里去显示。。排除一下串口部分问题
tt[]数组就是存放像素数据的数组。。。。
var
  bmp1:TBitMap;
  P:array[0..153599] of PByteArray;
  Hight,Width,index:integer;
begin
     index:=0;
     bmp1:=tbitmap.Create;
     bmp1.PixelFormat:=pf16bit;
     bmp1.Height:=240; // 81
     bmp1.Width:=320;// 150
     for Hight:=1 to 240 do//图像高度
      begin
       P[Hight-1]:=bmp1.ScanLine[Hight-1];//图像宽度
        for Width:=1 to 320 do
         begin
           P[Hight-1][(Width shl 1)]:=tt[index]; //BGR RevDate
           index:=index+1;
           P[Hight-1][(Width shl 1)+1]:= tt[index]; //RevDate
           index:=index+1;
         end;
      end;
    form1.Image1.Picture.Assign(bmp1);
end;

出0入0汤圆

 楼主| 发表于 2011-8-15 20:26:56 | 显示全部楼层
呵呵,我不会DELPHI哦。我的软件是在论坛上下载的。不过我有看到版主用过这个软件,显示是正常的。

出0入0汤圆

 楼主| 发表于 2011-8-16 10:04:13 | 显示全部楼层

(原文件名:3.jpg)
各位,这是我用OV7670+FIFO,数据送PC机上位机软件上显示的。输出大小为320*240,RGB565格式。现在图片是出来了,可是很不清楚。图片表面好像有层模似的,这是什么原因呀?

出0入0汤圆

 楼主| 发表于 2011-8-17 13:23:21 | 显示全部楼层
各位老大帅哥们,请教一个比较棘手的问题:
    我现在在调MT9D111+FIFO+STM32,在接有仿真器的情况下,我的摄像头能采集到正确的数据,数据传给上位机显示,图像还原正常。可是在没有仿真器的情况下,摄像头虽然能工作,但是采集的图像数据貌似有错。在上位机上显示的画面是许多的细线。不清楚到底原因出在哪里?请高人指点?

出0入0汤圆

发表于 2011-8-17 16:59:12 | 显示全部楼层
可能是聚焦什么的没调好吧

出0入0汤圆

发表于 2011-8-17 17:47:49 | 显示全部楼层
回复【楼主位】dongfengge555 冷东风
-----------------------------------------------------------------------

请问你的摄像头用的是有源晶振,还是无源晶振?我的图是这样的,好像无法起振?

(原文件名:3.png)

出0入0汤圆

 楼主| 发表于 2011-8-19 10:51:34 | 显示全部楼层
回复【7楼】wangtaotao
-----------------------------------------------------------------------

那你能测到XCLK有输出吗?我用的是STM32,是用STM32的PA8口提供8MH频率的。

出0入0汤圆

 楼主| 发表于 2011-8-19 10:52:01 | 显示全部楼层
回复【6楼】zjiafu
-----------------------------------------------------------------------

呵我试了,不是高低位的问题。我觉得可能是干扰的问题。

出0入0汤圆

发表于 2011-8-20 01:13:43 | 显示全部楼层
可以让摄像头输出8条彩带,试试。
参考  http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4379193&bbs_id=3028

 0x71:这个寄存器对于调试的时候是很有用的,通过将其值配置为0x80,可以让摄像头输出8条彩带,当采集不到数据,或采集到的图像不正确的时候不妨设置一下该寄存器的值看图像是否为彩带,或是发生了什么样的畸变。下图是采集到的彩带图形(其实彩带图形0x70和0x71配合使用的,一般设置0x70寄存器为0即可)。

出0入0汤圆

发表于 2011-12-21 14:43:50 | 显示全部楼层
回复【3楼】dongfengge555 冷东风
-----------------------------------------------------------------------
您好,请问你的问题解决了么?我的图像也跟你的一样,上面好像有一层膜

出0入0汤圆

发表于 2012-5-29 15:07:37 | 显示全部楼层
dongfengge555 发表于 2011-8-17 13:23
各位老大帅哥们,请教一个比较棘手的问题:
    我现在在调MT9D111+FIFO+STM32,在接有仿真器的情况下,我 ...

你好,你试过MT9D111的彩色条输出功能吗,如果测试过,得到的彩条是和OV7670一样的吗?谢谢

出0入0汤圆

发表于 2012-6-11 19:05:32 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2012-6-11 20:17:20 | 显示全部楼层
上位机程序给发一下,谢谢
lgx4915@126.com

出0入0汤圆

发表于 2012-7-1 10:45:32 | 显示全部楼层
myqiang1990 发表于 2011-8-15 17:09
可能是delphi处理现实部分不对。。。
下面是我测式用的,我也是用OV7670,但是后来我没有直接传送RGB565数据 ...

您好,可以把您压缩后图像传给PC显示的程序给我发一下嘛?我现在也是压缩好了图像,但是不知道该怎么传给上位机显示,您可以把您的给我参考一下嘛?十分感谢您。我的QQ邮箱:565690710@qq.com

出0入0汤圆

发表于 2012-7-5 09:38:57 | 显示全部楼层
楼主能共享一下上位机的程序吗 236316845@qq.com

出0入0汤圆

发表于 2012-11-27 17:52:54 | 显示全部楼层
myqiang1990 发表于 2011-8-15 17:09
可能是delphi处理现实部分不对。。。
下面是我测式用的,我也是用OV7670,但是后来我没有直接传送RGB565数据 ...

你好,关于这个上位机软件这块想请教你些问题,不知方便不?

出0入0汤圆

发表于 2012-11-30 13:24:11 | 显示全部楼层
楼主你好,我遇到和你类似的问题,出来的图像上覆盖了一层红幕,很不清晰! 楼主你是怎么解决的?

出0入0汤圆

发表于 2013-3-15 15:02:57 | 显示全部楼层
请问大神那个软件是在哪下载的啊,给个链接吧

出0入0汤圆

发表于 2013-3-17 15:09:19 | 显示全部楼层
你好楼主,能不不能把你的上位机代码给我发一下啊,谢谢了。邮箱zdy20123@sina.com

出0入0汤圆

发表于 2013-4-7 16:17:00 | 显示全部楼层
请教LZ,我用OV9655+SDRAM+FPGA+VGA做采集显示的时候,显示出来的图像也和1楼的图像一样,而且图像有分块交错的情况,请问你当时是怎么解决的?

出0入0汤圆

发表于 2013-5-26 11:26:02 | 显示全部楼层
  能否也给我发一份你上位机的 软件, 灰常感谢 1964456199@qq.com

出0入0汤圆

发表于 2013-7-5 09:09:53 | 显示全部楼层
一楼的图像问题你是怎么解决的,我也出现了这个问题

出0入0汤圆

发表于 2013-7-5 09:53:00 | 显示全部楼层
wangtaotao 发表于 2011-8-17 17:47
回复【楼主位】dongfengge555 冷东风
----------------------------------------------------------------- ...

把晶振下的两个电容加大至68PF

出0入0汤圆

发表于 2013-7-15 13:53:44 | 显示全部楼层
楼主能共享一下程序的原码吗  非常感谢  364987212@qq.com

出0入0汤圆

发表于 2013-7-15 14:05:59 | 显示全部楼层


出0入0汤圆

发表于 2013-7-25 17:24:16 | 显示全部楼层
请问 楼上的上位机 可以共享一下吗

出0入0汤圆

发表于 2013-8-20 11:48:38 | 显示全部楼层
请问楼主能分享一下上位机的程序吗?谢谢了
654937259@qq.com

出0入0汤圆

发表于 2014-2-24 14:17:41 | 显示全部楼层
dongfengge555 发表于 2011-8-16 10:04
(原文件名:3.jpg)
各位,这是我用OV7670+FIFO,数据送PC机上位机软件上显示的。输出大小为320*240,RGB5 ...


能把你的上位机软件发给我吗,要是有源码 就更好了, 期望能得到你的帮助,谢谢 我的邮箱地址 tacbo@qq.com

出0入0汤圆

发表于 2014-2-24 21:33:32 | 显示全部楼层

出0入0汤圆

发表于 2014-4-30 20:57:50 | 显示全部楼层

请问楼主能分享一下上位机的程序和上位机显示的软件吗?谢谢了

出0入0汤圆

发表于 2014-4-30 20:58:15 | 显示全部楼层
xnyy 发表于 2014-4-30 20:57
请问楼主能分享一下上位机的程序和上位机显示的软件吗?谢谢了

253951861@qq.com

出0入0汤圆

发表于 2014-8-21 16:41:24 | 显示全部楼层

你好,能分享一下上位机软件吗?正好最近也在调试将OV7670数据用串口发送并显示在PC端,非常感谢!hqy880821@163.com

出0入0汤圆

发表于 2014-8-21 16:43:25 | 显示全部楼层
dongfengge555 发表于 2011-8-16 10:04
(原文件名:3.jpg)
各位,这是我用OV7670+FIFO,数据送PC机上位机软件上显示的。输出大小为320*240,RGB5 ...

你好,能分享一下上位机的软件吗?正好在调OV7670摄像头,把数据用串口传回数据在PC端显示。谢谢!hqy880821@163.com

出0入0汤圆

发表于 2015-8-7 15:09:43 | 显示全部楼层
你好,能分享一下上位机的软件吗?正好在调OV7670摄像头,把数据用串口传回数据在PC端显示。谢谢!734716034@qq.com

出0入0汤圆

发表于 2015-8-7 15:10:26 | 显示全部楼层
程序就更好了

出0入0汤圆

发表于 2015-8-7 16:14:21 | 显示全部楼层
拜托,拜托,拜托

出0入170汤圆

发表于 2016-5-13 19:01:31 | 显示全部楼层
同学,上位机能发给我妈?谢谢806869391@qq.com

出0入0汤圆

发表于 2016-5-13 19:55:55 | 显示全部楼层
目测是RGB掩码错了

出0入0汤圆

发表于 2016-5-13 20:44:45 | 显示全部楼层
学习一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 05:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表