亿加合和智能车制作

标题: 采集图像不稳定,还有水平错位,求解 [打印本页]

作者: lemon~cmc    时间: 2012-4-18 22:15
标题: 采集图像不稳定,还有水平错位,求解
本帖最后由 lemon~cmc 于 2012-4-18 22:21 编辑

首先肯定的是摄像头是没有问题的。直接看下图吧!

[img]file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/279788046/QQ/WinTemp/RichOle/@_QYK3989@38[A_45HO5Y3X.jpg[/img]
一开始我的行中断设置的是上升沿触发的,因为高电平一来,就是有效数据了,上升沿触发还是会影响到数据的。一个进了中断响应时间,一个就是一进中断肯定前面还有几条语句要执行,不会立即采数据。所以有可能会造成错位。
然后我就改成了下降沿触发。#define HREF (GPIOA_PDIR&(1<<4))
void PORTA_ISR(void)//行中断。A4
{
uint8 j;
uint8 *p;
PORTA_PCR4|=PORT_PCR_ISF_MASK;   //清除中断标志位
if(ImageFlag==1)      //如果图像可以开始接收
{
  if(row%3==1)      //从第一行开始采集,每隔3行采集一次
  {   
   switch(ImageDealFlag)
   {
   case 1:       //如果ImageIn1正在处理中,将数据存入ImageIn2中
     Delay(10);    //去消隐
     p = &video2[imagerow][0];
     while(!HREF);
     for(j=0;j<V;j++)
     {
      *p++ = GPIOD_PDIR;  //把PORTB数据赋值给图像数组
      Delay(GELIE);    //隔列采集,可根据用户的采集列数进行更改延时
     }
     imagerow++;              //一行采集完成
     if(imagerow==H)          //如果已经是所需要采集的最后一行数据
     {
      enable_irq(88);      //打开场中断
      disable_irq(87);     //关闭行中断
      ImageFlag=0;
      ImageReadyFlag=2;  //ImageIn2已经准备好
     }break;
   case 2:       //如果ImageIn2正在处理中,将数据存入ImageIn1中
     Delay(10);    //去消隐
     p = &video1[imagerow][0];
     while(!HREF);
     for(j=0;j<V;j++)
     {
      *p++ = GPIOD_PDIR;  //把PORTB数据赋值给图像数组
      Delay(GELIE);
     }
     imagerow++;
     if(imagerow==H)
     {
      enable_irq(88);    //打开场中断
      disable_irq(87);   //关闭行中断
      ImageFlag=0;
      ImageReadyFlag=1;  //ImageIn2已经准备好
     }break;
   default: ;
   }
  }row++;
}
}我用的是双数组的采集方式。频率是超到160M。调了很久还是没有解决。所以来请求一下大师们。




作者: 皮影    时间: 2012-4-19 14:42
我用的也是双数组 编译时出现了RAM溢出 不知LZ有没遇到过这种情况
作者: lemon~cmc    时间: 2012-4-19 18:09
你列采多少?行采多少哟?太大了的话可能会溢出。暂时没有。你可以行采少一点,隔几列采一点。
作者: wangzhi223    时间: 2012-4-19 19:05
我怎么感觉是场没同步啊。你自己把错位的地方一下,摆到顶上看看。。
作者: 木未    时间: 2012-4-21 20:30
我的也是有错位现象。
作者: 漫天飞舞    时间: 2012-4-23 11:21
我的也有。电池电量充足时,有错位。但是当电池快没电时就特别稳定。摄像头OV7620。我的猜测是电压不稳定。
作者: lemon~cmc    时间: 2012-4-24 13:35
是场信号的问题。几天没有进论坛了。我们的是因为ov7620输出电压为5V,而单片机的3V,所以进来的场信号就出问题了,现在可以了。没有做其它的,我们就是将场信号的线接长了,估计是电阻了,自动匹配了,现在稳定的很。硬件的东西还真是累人。
作者: 陈永胜    时间: 2012-4-29 01:39
lemon~cmc 发表于 2012-4-24 13:35
是场信号的问题。几天没有进论坛了。我们的是因为ov7620输出电压为5V,而单片机的3V,所以进来的场信号就出 ...

楼主,想问一下,我的采集到的数据在远场区很不稳定(就是车不动,将采集到的数据显示出来,不断变化,中场有时候出现断行,怎么回事啊???)

作者: z_7    时间: 2012-4-29 09:27
用软件延时消隐不如用PIT定时
作者: lemon~cmc    时间: 2012-4-29 22:26
陈永胜 发表于 2012-4-29 01:39
楼主,想问一下,我的采集到的数据在远场区很不稳定(就是车不动,将采集到的数据显示出来,不断变化,中 ...

可以发两张照片看下不?我以前有遇到过只有一部分在刷新的情况。车子不动的时候?图像也在跳嘛?如果是这样的话,多半就是场信号的问题了。你可以在考虑在场中断处理函数里面写个控制LED闪的程序,这样就可以通过看LED的情况来判定你的场信号有没有问题。如果车不动,图像是稳定(一般是会有些噪点的,但是画面整体效果是不变的,只是有些雪花在跳),也就是只有一部分图像在刷新的话,就是串口发送速率的问题了。可以改成在发送一幅图像完再去开启场中断,或者改小图像大小试试看。

作者: yelinfeng    时间: 2012-4-30 02:32
陈永胜 发表于 2012-4-29 01:39
楼主,想问一下,我的采集到的数据在远场区很不稳定(就是车不动,将采集到的数据显示出来,不断变化,中 ...

无线不稳,丢包了
作者: 陈永胜    时间: 2012-4-30 09:12
yelinfeng 发表于 2012-4-30 02:32
无线不稳,丢包了

我用的是有线USB转串口……那是怎么回事啊???
作者: 陈永胜    时间: 2012-4-30 09:15
lemon~cmc 发表于 2012-4-29 22:26
可以发两张照片看下不?我以前有遇到过只有一部分在刷新的情况。车子不动的时候?图像也在跳嘛?如果是这 ...

图片现在我这台电脑上没有,我的在LCD显示屏上也是闪……可不可以说的稍微清楚一下……可以给我说说你你的具体处理办法??QQ:1114948909   谢谢了
作者: 陈永胜    时间: 2012-4-30 09:41
lemon~cmc 发表于 2012-4-29 22:26
可以发两张照片看下不?我以前有遇到过只有一部分在刷新的情况。车子不动的时候?图像也在跳嘛?如果是这 ...

我这样试过了,由于时间太短,LED灯闪的很快,看不出来啊……求数清楚一点,谢谢了

作者: 陈永胜    时间: 2012-4-30 09:49
lemon~cmc 发表于 2012-4-29 22:26
可以发两张照片看下不?我以前有遇到过只有一部分在刷新的情况。车子不动的时候?图像也在跳嘛?如果是这 ...

我又改成了每十场采集一次,灯闪动的一样快,那怎么办????

作者: ゛.夨憶︷メ    时间: 2013-5-24 01:30
lemon~cmc 发表于 2012-4-29 22:26
可以发两张照片看下不?我以前有遇到过只有一部分在刷新的情况。车子不动的时候?图像也在跳嘛?如果是这 ...

我采集到的图像,车不懂,图像也在不停的周期变化,就好像远一场,近一场的不停跳,求指导啊

作者: hui911127    时间: 2013-6-24 11:34
冷火能用DMA吗?
作者: seuStones    时间: 2015-3-20 20:20
:victory::victory:
作者: 霖霖霖    时间: 2019-3-10 15:20
我也是出现了这样的情况,怎么发图?
作者: 霖霖霖    时间: 2019-3-10 15:23
我的一直是这样

作者: 霖霖霖    时间: 2019-3-10 15:25
不知道为什么会出现这样的情况,
我的QQ:1409248609  可以加我,和我探讨探讨吗




欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2