智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

模拟摄像头采集的图像怎么在二维数组中存放??帮忙看看代码……

  [复制链接]

14

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1382
QQ
威望
406
贡献
768
兑换币
10
注册时间
2009-9-4
在线时间
104 小时
跳转到指定楼层
1#
发表于 2009-11-22 12:00:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大体思路是每采完一场就关掉中断,通过串口把二值化后的图像发到PC上,出现的问题是发过来的东西全是0(阈值没有问题)     - -!



  1. #define BUFF_ROW_MAX 15
  2. #define BUFF_COLUMN_MAX 50

  3. volatile unsigned char buff[BUFF_ROW_MAX][BUFF_COLUMN_MAX]; //存采集的数据
  4. volatile unsigned int SampleRow = 0; //避过场消隐用
  5. volatile unsigned char threshold = 0x2F;  //阈值
  6. volatile unsigned char row = 0, column = 0;
  7. volatile unsigned char SCIrow = 0, SCIcolumn = 0;
  8. volatile Bool vStartFalg = 1; //标志新的一场开始

  9. void interrupt 8 Port0_interrupt(void) // HS interrupt
  10. {
  11.     unsigned int i;
  12.     TFLG1_C0F = 1; // Clear HS interrupt flag
  13.     TIE_C0I = 0; // Disable HS interrupt
  14.    
  15.     if( vStartFalg ) // Avoid VS blanking
  16.     {
  17.         if ( SampleRow++ <= 5 )
  18.         {
  19.          return;                           
  20.         }
  21.     }
  22.     for( i = 0; i < 55; i++) // Avoid HS blanking
  23.     {
  24.         asm(nop);
  25.     }
  26.     for( column = 0; column < BUFF_COLUMN_MAX; column++ )
  27.     {
  28.         while(!ATD0STAT0_SCF);
  29.         buff[row][column] = ATD0DR0L;
  30.     }
  31.     //TIE_C0I = 0; // Disable HS interrupt,just sample one row.
  32.     vStartFalg = 0;
  33.    
  34.     if( row++ <= BUFF_ROW_MAX )
  35.     {
  36.         TIE_C0I = 1;
  37.     }
  38. }
  39. void interrupt 9 Port1_interrupt(void)
  40. {
  41.     TIE_C0I = 0; // Disable HS interrupt
  42.     TFLG1_C1F = 1; // Clear VS interrupt flag
  43.     /**************************************
  44.     *                        Send Image                         *
  45.     **************************************/
  46.     TIE_C1I = 0;
  47.     for( SCIrow = 0; SCIrow < BUFF_ROW_MAX; SCIrow++ )
  48.     {
  49.         for( SCIcolumn = 0; SCIcolumn < BUFF_COLUMN_MAX; SCIcolumn++ )
  50.         {
  51.             if(buff[SCIrow][SCIcolumn] > threshold)
  52.                 SCI_Transmit('1');
  53.             else
  54.                 SCI_Transmit('0');
  55.             delayms(150);
  56.         }
  57.         SCI_Transmit('\n');
  58.     }
  59.     SCI_Transmit('\n');
  60.     /**************************************
  61.     *                   End of Sending                         *
  62.     **************************************/
  63.     //PORTB = ~PORTB;
  64.    
  65.     delayms(2);
  66.     SampleRow = 0;
  67.     vStartFalg = 1;
  68.     row = 0;  // Reinitialize
  69.     TIE_C1I = 1; // Enable VS interrupt
  70.     TIE_C0I = 1; // Enable HS interrupt
  71. }

复制代码


麻烦帮忙看看或者分享一下能实现的代码,谢谢啦~~

14

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1382
QQ
威望
406
贡献
768
兑换币
10
注册时间
2009-9-4
在线时间
104 小时
2#
 楼主| 发表于 2009-11-23 07:51:16 | 只看该作者
解决了,是两个中断开和关时候不对的问题
回复 支持 反对

使用道具 举报

0

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
449
威望
331
贡献
80
兑换币
52
注册时间
2009-2-12
在线时间
19 小时
3#
发表于 2010-2-26 14:31:53 | 只看该作者
是哦,呵呵!
回复 支持 反对

使用道具 举报

0

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
449
威望
331
贡献
80
兑换币
52
注册时间
2009-2-12
在线时间
19 小时
4#
发表于 2010-2-26 15:33:19 | 只看该作者
感觉还是多看看往届的论文
回复 支持 反对

使用道具 举报

6

主题

130

帖子

0

精华

高级会员

Rank: 4

积分
727
威望
508
贡献
105
兑换币
0
注册时间
2009-12-2
在线时间
57 小时
5#
发表于 2010-3-5 22:41:51 | 只看该作者
什么开和关,能具体点吗?
回复 支持 反对

使用道具 举报

5

主题

113

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1064
威望
430
贡献
532
兑换币
6
注册时间
2009-12-5
在线时间
51 小时
6#
发表于 2010-3-6 16:14:04 | 只看该作者
好东西
回复 支持 反对

使用道具 举报

5

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
595
威望
363
贡献
82
兑换币
22
注册时间
2009-9-25
在线时间
75 小时
7#
发表于 2010-3-8 11:07:57 | 只看该作者
不是很理解
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
威望
260
贡献
20
兑换币
0
注册时间
2010-1-16
在线时间
12 小时
8#
发表于 2010-3-13 10:38:27 | 只看该作者
回复 3# zhwbiao123

具体中断的开关是怎么改的?
回复 支持 反对

使用道具 举报

4

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
QQ
威望
309
贡献
44
兑换币
0
注册时间
2010-3-11
在线时间
14 小时
9#
发表于 2010-3-13 13:41:21 | 只看该作者
看看~~·
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
威望
260
贡献
20
兑换币
0
注册时间
2010-1-16
在线时间
12 小时
10#
发表于 2010-3-13 17:18:36 | 只看该作者
回复 2# librae8226
怎么修改的?麻烦告诉一下,谢啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 17:04 , Processed in 0.289353 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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