智能车制作

标题: 摄像头大家都是都是两场都用吗? [打印本页]

作者: _Rp_    时间: 2012-11-29 22:13
标题: 摄像头大家都是都是两场都用吗?
我是新手。想问问大家采集两场都用吗?还是一场采集一场处理与控制?  如果两场都用,那岂不是处理加控制要控制在16.666ms以内

作者: fmadot    时间: 2012-11-29 23:58
奇偶场区别不大 不区分
作者: _Rp_    时间: 2012-11-30 00:08
fmadot 发表于 2012-11-29 23:58
奇偶场区别不大 不区分

但是图像处理和控制算法时间如果超过了一场的时间,岂不是上一场的数据会被覆盖?

作者: 1434636181    时间: 2012-11-30 09:20
存到对应数组里面,不就行了,采集完在进行处理
作者: yukunlinykl    时间: 2012-11-30 09:53
本帖最后由 yukunlinykl 于 2012-11-30 09:55 编辑

何止是只用16.6毫秒,其中13毫秒都在读图像,只有两三毫秒的时间决策啊!!!不过写代码的时候注意时效,超频一点,应该也是可以的。

作者: fmadot    时间: 2012-11-30 10:48
_Rp_ 发表于 2012-11-30 00:08
但是图像处理和控制算法时间如果超过了一场的时间,岂不是上一场的数据会被覆盖?

处理的时候不采集呗!

作者: 是人何装神    时间: 2012-11-30 11:46
鸡场和藕场是从一幅完整的图像中分出来的,所以几乎一样,用一个就行了、、、、
作者: _Rp_    时间: 2012-11-30 12:50
是人何装神 发表于 2012-11-30 11:46
鸡场和藕场是从一幅完整的图像中分出来的,所以几乎一样,用一个就行了、、、、

意思是同一帧的奇偶场图像信息几乎是一样的哦?  那么就以ov7620来说,每秒30帧,那奇(偶)场间隔时间为33.3ms,那么一场采集一场处理,则处理控制算法控制在33.3ms以内?  那岂不是每秒调整频率才30Hz?是不是有点低?

作者: _Rp_    时间: 2012-11-30 12:51
yukunlinykl 发表于 2012-11-30 09:53
何止是只用16.6毫秒,其中13毫秒都在读图像,只有两三毫秒的时间决策啊!!!不过写代码的时候注意时效,超 ...

决策 2-3ms···是指什么决策啊?
作者: yukunlinykl    时间: 2012-11-30 14:53
_Rp_ 发表于 2012-11-30 12:51
决策 2-3ms···是指什么决策啊?

决策转向轮方向以及动力轮的速度。

作者: _Rp_    时间: 2012-11-30 15:21
yukunlinykl 发表于 2012-11-30 14:53
决策转向轮方向以及动力轮的速度。

这样啊,那么不好意再问问,2-3ms决策包括了图像二值化,提取中线和算偏差吗?

作者: yukunlinykl    时间: 2012-11-30 16:20
_Rp_ 发表于 2012-11-30 15:21
这样啊,那么不好意再问问,2-3ms决策包括了图像二值化,提取中线和算偏差吗?

你可以把你的程序设计成这样。

作者: _Rp_    时间: 2012-11-30 17:41
yukunlinykl 发表于 2012-11-30 16:20
你可以把你的程序设计成这样。

哦 谢谢。 我感觉这一套程序控制在2-3ms有压力···{:soso_e122:}

作者: yukunlinykl    时间: 2012-11-30 17:54
_Rp_ 发表于 2012-11-30 17:41
哦 谢谢。 我感觉这一套程序控制在2-3ms有压力···

优化算法,减少冗余计算,冗余存贮,冗余搬运。开编译优化。
注意代码优化,如把 if (a!=0) 改为 if (a)

作者: _Rp_    时间: 2012-11-30 20:26
yukunlinykl 发表于 2012-11-30 17:54
优化算法,减少冗余计算,冗余存贮,冗余搬运。开编译优化。
注意代码优化,如把 if (a!=0) 改为 if (a) ...

哦,好的。谢谢你的建议!{:soso_e100:}

作者: zhaoliujian78    时间: 2012-12-17 01:25
这个不错

作者: 总是忘记账号    时间: 2012-12-19 22:45
yukunlinykl 发表于 2012-11-30 17:54
优化算法,减少冗余计算,冗余存贮,冗余搬运。开编译优化。
注意代码优化,如把 if (a!=0) 改为 if (a) ...

这么说来,得有多精确啊。我现在的代码写得貌似很冗余的样子。我怎么知道程序用时多少呢?下到单片机里面点“step over”,看看每一步的时间长短?
作者: 总是忘记账号    时间: 2012-12-19 22:47
_Rp_ 发表于 2012-11-30 15:21
这样啊,那么不好意再问问,2-3ms决策包括了图像二值化,提取中线和算偏差吗?

不用二值化应该也还好吧

作者: _Rp_    时间: 2012-12-20 21:35
总是忘记账号 发表于 2012-12-19 22:47
不用二值化应该也还好吧

我觉得二值化也不是非常严格的0 1 二值化,只是个比较·
作者: 潘俊    时间: 2012-12-20 21:50
两场控制一次太慢
作者: microconfig    时间: 2012-12-20 22:27
假设摄像头每秒25帧图像,分成奇偶场就是50场。是前一个20ms扫奇场,后面一个20ms扫偶场。这样子。一般来说,由于一般写图像采集程序的时候采图不是每行都采的,而是隔若干行采一行图像。而对摄像头的相邻两行来说,这个差别其实不大,所以同一图像的奇偶场在采图之后的差别不大,LZ可以试试把摄像头固定在某个地方,多采几幅图,就会发现,奇偶场差别不是太大。然而当车在运动的时候,奇偶场的图像并非是同一幅图像,而两场的图像其实是不同位置拍到的图像,如果只用其中一场,很不划算。
关于处理时间的问题,感觉控制算法在图像处理(二值化,提取黑线,判断类型)上面花的时间最长,控制算法反而是相对越简单越好。但总的来说每场都处理完全没问题。甚至边跑边用串口实时传少量数据都不会造成超时。
作者: lianghuihao    时间: 2013-3-7 14:07
microconfig 发表于 2012-12-20 22:27
假设摄像头每秒25帧图像,分成奇偶场就是50场。是前一个20ms扫奇场,后面一个20ms扫偶场。这样子。一般来说 ...

请问有没有相关资料,你说的 在运动时奇偶场会不一样,你是怎么知道的啊?

作者: _Rp_    时间: 2013-3-7 18:42
同问。
作者: zhuanshu123    时间: 2013-3-15 23:49
如果用CCD的话,奇场和偶场的灰度相同只需采集一场即可,即单片机的周期为40MS,20MS采集,20MS处理




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