智能车制作

标题: 硬件二值化,讨论 [打印本页]

作者: catch    时间: 2010-12-5 23:17
标题: 硬件二值化,讨论
本帖最后由 catch 于 2010-12-5 23:21 编辑

最近自己参照清华和南邮的电路搭了一个硬件二值化电路,

传上来,[attach]4213[/attach]
大家一起讨论下,
怎样使它能够最优化!!
同时提升我们对赛道的处理能力!!
作者: qixiangyujj    时间: 2010-12-6 14:37
不错
作者: xixifuli    时间: 2010-12-6 16:00
很好,good。
作者: catch    时间: 2010-12-6 21:12
上边的电路有个问题,
自己在画图时没注意,
这里7528工作在电压模式,
连电路时要注意,
不要连成电流模式!!
这里自己画图时,
只是按照引脚加了标号!!
如果实验时,要注意!!!
作者: fenkella    时间: 2010-12-6 21:56
首先1881那里的R2值是不是有问题啊?然后324和3501这种用法的用意何在,这个让我比较困惑了~~~以3501的性能,配上一个数字电位器,个人觉得已经可以很好的实现功能了啊~~~而后有两个最近想不通的问题,第一,为什么不直接将视频信号进行比较,而要进行DA,不是有点多此一举的感觉吗?第二,为什么二值化图像后还要用5510这些进行A/D转换采集,而且二值化并没有花费太多的时间,通过我们测量,2400个点二值化的时间是1.3MS,个人想不明白硬件二值化的优势在哪里。。。大家讨论下~~
作者: catch    时间: 2010-12-6 22:38
本帖最后由 catch 于 2010-12-6 22:47 编辑

r1 r2 都是有问题的
视屏的阻抗是75欧,
另一个1881电路上给的是680K

不过这里二值化后不是给AD的,
是给IO的
用IO直接读高低电平

这是它的优势
作者: wugongzi    时间: 2010-12-6 23:17
学了很多啊
作者: catch    时间: 2010-12-9 22:29
硬件二值化的图像采集程序又是个问题!!
作者: catch    时间: 2010-12-10 22:32
本帖最后由 catch 于 2010-12-10 22:44 编辑

昨晚看了北科的程序,发现自己对硬件二值化理解,
还很不到位呀!!
下边是自己看的北科的报告,
[attach]4282[/attach]
看过技术报告并没有理解多少,
但看过源程序,
感觉自己对硬件二值化理解还太浅。

大家对硬件二值化,
有什么理解!!
作者: jianchi08    时间: 2010-12-11 02:36
硬件二值化是关键是比较电压而已!
作者: 371274316    时间: 2010-12-11 10:10
和ad的还不是一样,还比ad的省了软件比较
作者: jianchi08    时间: 2010-12-11 14:25
参考电压
作者: catch    时间: 2010-12-11 19:16
这里不仅仅是参考电压的问题!
还有如何更好的利用边沿检测,
否则硬件二值化带来的,
只有更多的点,
却没有处理速度的提升!!


  1. /*********************************************************************
  2. Function Name:PH7_INT                           
  3. Description:  PH7 interrupt service function,read CMOS camera  
  4. Inputs:       None               
  5. Outputs:      None                                                     
  6. NOTES:  
  7. **********************************************************************/   
  8. #pragma CODE_SEG __NEAR_SEG NON_BANKED  

  9. __interrupt void   PH7_INT (void)   //PH7管脚中断函数检测到黑线引发上升沿中

  10. {  
  11.   // Led3_ON;
  12.    if(( v_line >= VIDEO_START_LINE ) && ( v_line < VIDEO_START_LINE +
  13. MAX_VIDEO_LINE ) && (Flag_down - Flag_up == 1))   
  14.    {        v_point_up[v_line - VIDEO_START_LINE][Flag_up] = MCCNT; //上升沿中断
  15. 记录计数器值      
  16.       Flag_up ++; //此行有上升沿中断点加一
  17.    }
  18.    PIFH = 0X80;    //PH7位写1清零,以便下次上升沿来时能产生中断
  19. }   
  20. /*********************************************************************
  21. Function Name:PJ7_INT                           
  22. Description:  PJ7 interrupt service function,read CMOS camera  
  23. Inputs:       None               
  24. Outputs:      None                                                     
  25. NOTES:  
  26. **********************************************************************/
  27.   
  28. #pragma CODE_SEG __NEAR_SEG NON_BANKED  
  29. __interrupt void   PJ7_INT(void)   //PJ7管脚中断函数检测到黑线引发下降沿中断
  30. {
  31.    //Led3_OFF;
  32.    if(( v_line >= VIDEO_START_LINE ) && ( v_line < VIDEO_START_LINE +
  33. MAX_VIDEO_LINE ) && (Flag_down - Flag_up == 0))   
  34.    {
  35.       v_point_down[v_line - VIDEO_START_LINE][Flag_down] = MCCNT; //上升沿
  36. 中断记录计数器值
  37.       Flag_down ++;  //此行有上升沿中断点加一  
  38.    }  
  39.    PIFJ = 0X80;    //PJ7位写1清零,以便下次下降沿来时能产生中断   
  40. }   
  41. /*********************************************************************  
  42. …………
  43. g_BlackPoint[0][cnt] = (v_point_used_up[n][i] + v_point_used_down[n][i + 1]) / 2;//记录中心点                     
复制代码


这段程序,
个人分析得出的结论是,
他们每行只保存了个位数的数据量,
却实现了我们保存几十甚至几百个点的效果!!
这里更是要学习的!!
作者: jianchi08    时间: 2010-12-11 19:29
这我还是第一次见,问题这样可不可靠?请问上面的程序是哪个学校的?可以分享吗?baihaowen08@126.com谢谢
我们不同一个赛区的,放心,呵呵
作者: catch    时间: 2010-12-11 20:19
回复 14# jianchi08


    上边的那个程序就在我上传的09北科的报告里,
里边有完整的程序!!这个只是截断的,
只是自己的理解,一起研究怎么样!!
作者: jianchi08    时间: 2010-12-11 21:52
我也在搞硬件二值化。只见清华,北科,南邮的电路。迷惘了
作者: jianchi08    时间: 2010-12-11 21:56
上传的09北科的报告里?在哪里,没看见哦
作者: jianchi08    时间: 2010-12-11 21:59
我下的第三届和第四届的北科的报告是一样的,只是队员名改了
作者: catch    时间: 2010-12-11 22:02
回复 18# jianchi08


  三届四届不一样,他们给的程序不一样
四届更多一些,
三届的程序没有那两个边沿检测中断!!
作者: catch    时间: 2010-12-11 22:14
回复 17# jianchi08
这个在第一页里,

我在一个回复里上传的!!
作者: botewin    时间: 2010-12-12 13:04
关注
作者: Deagle    时间: 2010-12-27 01:28
回复 13# catch


    简单点说就是BMP和JPG的差别,同等数据量带来的信息量差别太大
作者: xing91    时间: 2010-12-27 09:00
原来还计划准备用模拟电路二值化,后来考虑到动态阀值和边沿检测不是很懂,就搞片外ad去了
作者: 道宁    时间: 2011-3-5 21:31
学习
作者: 悲疏轻风    时间: 2011-3-5 23:54
感觉还是做实验有些麻烦,阈值不好掌握,不知道有谁做出来没有?
作者: supper大毛    时间: 2011-3-9 10:30
学习学习........
作者: xiaocanyang    时间: 2011-3-28 14:29
上面说的动态阀值,是不是指的那个参考电压啊,我前几天看到网上说有一个叫做X9C103这样的数字电位器,是用程序来控制的,好像指的就是动态阀值,但具体程序怎么写,我还在研究中,不知道,哪位现在已经研究出来了。有的话传一下,谢谢了。!
作者: TJPU摄像头    时间: 2011-3-30 16:27
谁知道DA7524的具体电路怎么连   我试过好几次了   都不太好   误差太大    用固定阈值调过硬件二值化    效果很好    能采到8,9个点
作者: pika    时间: 2011-4-26 23:33

作者: catch    时间: 2011-5-29 16:03
后来,发现这个电路其实还有很多缺点。
首先,DA转换应该用串行的,这样节省IO,
其次,这里对信号应该先进行一级放大,
之后再进行二值化,这样可以减小误差。
其三,经过实验发现硬件二值化确实效果好,
但是其适应能力也不是一般的差,光线要求很高。
再有就是调阈值,最好很行给阈值,
这样可以避免近端采得过多。
作者: 张大鹏    时间: 2011-6-1 13:16
谁有硬件二值化能用的电路图发一个给我,谢谢,1129378959@qq.com
作者: 、 ̄薆    时间: 2013-1-20 16:37
能做个参考电压随场地的变化而自动变化的硬件二值化电路吗????
作者: luojinbin    时间: 2013-3-2 21:54
fenkella 发表于 2010-12-6 21:56
首先1881那里的R2值是不是有问题啊?然后324和3501这种用法的用意何在,这个让我比较困惑了~~~以3501的性能 ...

我也觉得
作者: DDXFEISIKAER    时间: 2013-10-3 22:05





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2