智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 15146|回复: 20
打印 上一主题 下一主题

采集图像不稳定,还有水平错位,求解

  [复制链接]

7

主题

149

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
656
贡献
612
兑换币
12
注册时间
2011-3-1
在线时间
68 小时
跳转到指定楼层
1#
发表于 2012-4-18 22:15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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。调了很久还是没有解决。所以来请求一下大师们。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
威望
188
贡献
56
兑换币
2
注册时间
2012-4-7
在线时间
17 小时
毕业学校
周庄小学
2#
发表于 2012-4-19 14:42:31 | 只看该作者
我用的也是双数组 编译时出现了RAM溢出 不知LZ有没遇到过这种情况
回复 支持 反对

使用道具 举报

7

主题

149

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
656
贡献
612
兑换币
12
注册时间
2011-3-1
在线时间
68 小时
3#
 楼主| 发表于 2012-4-19 18:09:59 | 只看该作者
你列采多少?行采多少哟?太大了的话可能会溢出。暂时没有。你可以行采少一点,隔几列采一点。
回复 支持 反对

使用道具 举报

0

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
691
威望
459
贡献
126
兑换币
12
注册时间
2011-2-28
在线时间
53 小时
4#
发表于 2012-4-19 19:05:33 | 只看该作者
我怎么感觉是场没同步啊。你自己把错位的地方一下,摆到顶上看看。。
回复 支持 反对

使用道具 举报

5

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1238
威望
722
贡献
276
兑换币
14
注册时间
2012-2-1
在线时间
120 小时
毕业学校
武汉理工
5#
发表于 2012-4-21 20:30:43 | 只看该作者
我的也是有错位现象。
回复 支持 反对

使用道具 举报

0

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
525
威望
314
贡献
113
兑换币
65
注册时间
2012-2-3
在线时间
49 小时
毕业学校
南昌大学
6#
发表于 2012-4-23 11:21:07 | 只看该作者
我的也有。电池电量充足时,有错位。但是当电池快没电时就特别稳定。摄像头OV7620。我的猜测是电压不稳定。
回复 支持 反对

使用道具 举报

7

主题

149

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
656
贡献
612
兑换币
12
注册时间
2011-3-1
在线时间
68 小时
7#
 楼主| 发表于 2012-4-24 13:35:29 | 只看该作者
是场信号的问题。几天没有进论坛了。我们的是因为ov7620输出电压为5V,而单片机的3V,所以进来的场信号就出问题了,现在可以了。没有做其它的,我们就是将场信号的线接长了,估计是电阻了,自动匹配了,现在稳定的很。硬件的东西还真是累人。
回复 支持 反对

使用道具 举报

27

主题

152

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
威望
697
贡献
239
兑换币
0
注册时间
2011-9-21
在线时间
95 小时
8#
发表于 2012-4-29 01:39:09 | 只看该作者
lemon~cmc 发表于 2012-4-24 13:35
是场信号的问题。几天没有进论坛了。我们的是因为ov7620输出电压为5V,而单片机的3V,所以进来的场信号就出 ...

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

使用道具 举报

2

主题

45

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1210
威望
542
贡献
190
兑换币
0
注册时间
2012-2-18
在线时间
239 小时
毕业学校
山东科技大学
9#
发表于 2012-4-29 09:27:57 | 只看该作者
用软件延时消隐不如用PIT定时
回复 支持 反对

使用道具 举报

7

主题

149

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
656
贡献
612
兑换币
12
注册时间
2011-3-1
在线时间
68 小时
10#
 楼主| 发表于 2012-4-29 22:26:31 | 只看该作者
陈永胜 发表于 2012-4-29 01:39
楼主,想问一下,我的采集到的数据在远场区很不稳定(就是车不动,将采集到的数据显示出来,不断变化,中 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-5 20:38 , Processed in 0.118961 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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