智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 14870|回复: 42
打印 上一主题 下一主题

二值化处理CCD数据,大家帮我看下我二值化加在哪里。

    [复制链接]

19

主题

125

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1078
威望
594
贡献
260
兑换币
280
注册时间
2012-10-25
在线时间
112 小时
跳转到指定楼层
1#
发表于 2013-5-10 17:34:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我试了好多次都不行。
#include "include.h"
#include "calculation.h"


/*************************
设置系统的全局变量
*************************/








extern u8 TIME0flag_5ms   ;
extern u8 TIME0flag_10ms  ;
extern u8 TIME0flag_15ms  ;
extern u8 TIME0flag_20ms  ;
extern u8 TIME1flag_20ms ;


extern u8 TimerFlag20ms;
unsigned char m;
u8 AtemP ;
u8 Pixel[128];
//二值化处理
void binarize()
{   
    unsigned int DIRECTION_ADTHRESHOLD=200;


    {   
      if(Pixel[m]<DIRECTION_ADTHRESHOLD) //自己定义的阀值,AD后的中间值
       {
           Pixel[m]=0;//128个点的数组
       }
       else
       {
           Pixel[m]=1;
        }



    }
}







void main()
{


   volatile u8 i;
   u8 send_data_cnt = 0;
   u8 *pixel_pt;  
   binarize();
  DisableInterrupts;                             //禁止总中断

  /*********************************************************
  初始化程序
  *********************************************************/
   //自行添加代码

   uart_init (UART0 , 9600); //初始化UART0,输出脚PTA15,输入脚PTA14,串口频率 9600

  //  adc_init(ADC1, AD6a) ;

   gpio_init (PORTA , 17, GPO,HIGH);
   gpio_init (PORTB , 17, GPO,LOW);   
   pit_init_ms(PIT0, 5);                                    //初始化PIT0,定时时间为: 5ms
   pit_init_ms(PIT1, 1);                                   //初始化PIT1,定时时间为: 1000ms

   CCD_init() ;


  pixel_pt = Pixel;
    for(i=0; i<128+10; i++) {
  *pixel_pt= 0;


  }

   PTE5_OUT = 1 ;
   EnableInterrupts;                                            //开总中断  

   /******************************************
    执行程序
    ******************************************/
    while(1)
    {

      if(TIME1flag_20ms == 1)
      {

      TIME1flag_20ms = 0 ;
      /* Sampling CCD data     ccd数据采集*/
      ImageCapture(Pixel);

      /* Calculate Integration Time */
      CalculateIntegrationTime();

      /* Send data to CCDView every 100ms */
      if(++send_data_cnt >= 5) {
        send_data_cnt = 0;
        SendImageData(Pixel);
      }

      }

    }

}


12

主题

176

帖子

0

精华

高级会员

Rank: 4

积分
952
威望
480
贡献
316
兑换币
304
注册时间
2014-11-6
在线时间
78 小时
推荐
发表于 2015-5-21 21:08:05 | 只看该作者
额  你的ccd 图啥样   处理以后的
回复 支持 1 反对 0

使用道具 举报

31

主题

449

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3387

优秀会员奖章活跃会员奖章在线王奖章

QQ
威望
1608
贡献
1035
兑换币
1049
注册时间
2015-10-19
在线时间
372 小时
毕业学校
太和一中
推荐
发表于 2016-2-27 15:11:09 | 只看该作者
求楼主二值化的程序
回复 支持 1 反对 0

使用道具 举报

2

主题

284

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
威望
708
贡献
416
兑换币
496
注册时间
2013-4-4
在线时间
167 小时
毕业学校
RCYZ
2#
发表于 2013-5-10 21:32:24 | 只看该作者
这个有难度吗?
回复 支持 反对

使用道具 举报

0

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
威望
452
贡献
321
兑换币
238
注册时间
2012-12-6
在线时间
127 小时
3#
发表于 2013-5-11 03:43:15 | 只看该作者
回复 支持 反对

使用道具 举报

19

主题

125

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1078
威望
594
贡献
260
兑换币
280
注册时间
2012-10-25
在线时间
112 小时
4#
 楼主| 发表于 2013-5-11 16:12:14 | 只看该作者
二百五 发表于 2013-5-10 21:32
这个有难度吗?

是木有啊 ,可是我总觉得串口并没有把二值化后的数值传到上位机里面去,到底是什么问题啊? 能加你QQ吗 ,我们的是K60的芯片
回复 支持 反对

使用道具 举报

2

主题

284

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
威望
708
贡献
416
兑换币
496
注册时间
2013-4-4
在线时间
167 小时
毕业学校
RCYZ
5#
发表于 2013-5-11 16:56:27 | 只看该作者

回帖奖励 +1

串口这个我就不懂了
回复 支持 反对

使用道具 举报

19

主题

125

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1078
威望
594
贡献
260
兑换币
280
注册时间
2012-10-25
在线时间
112 小时
6#
 楼主| 发表于 2013-5-11 17:19:35 | 只看该作者
二百五 发表于 2013-5-11 16:56
串口这个我就不懂了

额。 这个二值化我主要是想发送串口,二值化就是个判断而已
回复 支持 反对

使用道具 举报

0

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
798
威望
333
贡献
273
兑换币
197
注册时间
2012-11-16
在线时间
96 小时
毕业学校
华北水利水电学院
7#
发表于 2013-5-16 22:00:29 | 只看该作者
参考商家们给的程序呗
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

高级会员

Rank: 4

积分
593
威望
311
贡献
194
兑换币
196
注册时间
2013-5-30
在线时间
44 小时
毕业学校
冀州市中学
8#
发表于 2013-11-16 19:55:18 | 只看该作者

回帖奖励 +1

楼主这个解决了么?我们现在也遇到这个问题。。应该加在哪里啊?
回复 支持 反对

使用道具 举报

19

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2621
威望
1154
贡献
1013
兑换币
747
注册时间
2013-10-11
在线时间
227 小时
9#
发表于 2013-11-21 16:40:22 | 只看该作者
请教一下
PTE5_OUT = 1 ;
   EnableInterrupts;                                            //开总中断  

PTE5_OUT=1为什么加这一句,是因为PTE5控制TX吗?
回复 支持 反对

使用道具 举报

12

主题

875

帖子

0

精华

常驻嘉宾

删繁就简。

Rank: 8Rank: 8

积分
4602

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章

QQ
威望
2924
贡献
594
兑换币
1807
注册时间
2013-7-20
在线时间
542 小时
10#
发表于 2013-11-21 19:32:25 | 只看该作者
好低~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 16:44 , Processed in 0.069377 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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