那个有人尝试过opencv和arduino结合tornado结合么

调用静态构造函数和析构函数的方法
VxWorks提供了两种方法来调用静态构造函数和析构函数:[这两种方法是互补的(interactively)]
自动:调用静态构造函数认为是下载的side effect;调用静态的析构函数认為是卸载的side effect
在自动方法下,它是缺省的静态构造函数在成功下载后被立即调用。如果在模块下载前设置为自动方法模块的静态构造函数在模块装载器返回到它的调用者之前就被调用。在自动方法下模块卸载器在实际卸载模块前调用模块的静态析构函数。
人工方法引起调用静态构造函数是作为调用cplusCtors()的结果.在windsh参考中可找到关于函数cplusCtors()和cplusDtors()的更多细节为了调用当前加载的静态构造函数和析构函数,使用人工模式时不带参数人工模式也能在模块上逐一调用静态构造函数和析构函数。
在系统开始和结束时构造函数和析构函数
当你创建可启动的VxWorks應用程序时在系统初始化期间调用静态构造函数。更改在usrConfig.c中的函数usrRoot()使它包括对cplusCtorsLink()的调用.这就调用了所有的已连接到系统的静态构造函数

接下来,增加cplusCtorsLink()到一个或两个部分,这取决于系统需求.在如下的例子中,仅当配置了最小C++时才调用cplusCtorsLink():
注意:静态对象不会被初始化除非调用了cplusCtorsLink().因而,如果应用程序在usrRoot()中使用了静态对象那么应该在使用它们之前调用cplusCtorsLink()。
为了使得cplusCtorsLink()正确运行必须在完全连接的VxWorks映像上而不是单个的模块上執行munch操作。
相应地函数cplusDtorsLink()用来调用所有的静态析构函数这个函数在需要依序卸载进程的系统中是有用的。
在代码中在适合调用所有静态析构函数的地方包含对cplusDtorsLink()的调用,这些静态析构函数是最初连接到系统中的
函数cplusCtorsLink()和cplusDtorsLink()不会调用在系统初始化完后下载的模块的静态构造函数囷析构函数。如果系统使用了模块下载器以下的过程在<调用静态构造函数和析构函数的方法>中描述。
C++工具箱(toolchain)支持三种不同的模板实例化方法最简单的(这也是在VxWorks的makefiles里缺省使用的方法)是隐式实例化(imlicit instantiation).在这种方法下,每个模板的代码在每个需要它的模块中展开为了使之工作,模板的实现部分必须在每个使用它的模块中可见这通常通过在头文件中包含模板功能实现部分以及它们的
声明来实现。隐式实例化的缺點是它会导致代码复制和应用程序过大
第二种方法是使用在例5-1中的语法来显示实例化所需要的任何模板。在这种方法下编译时应使用選项-fno-implicit-templates。这种设计允许你对在何处实例化模板有最大的控制并避免代码膨胀。
手动实例化模板的方法把隐式实例化的简单和获得的更小的覆盖面(footprint)结合在一起通过操作每个模块的模板实例数据库来工作。
编译器将产生扩展名为.rpo的文件;这些文件列举了所有的模板实例这些模板实例在那儿能够被实例化的相应的目标文件中使用。编译器连接wrapper collect2然后更新.rpo文件告诉编译器何处安放这些实例并重新构造任何受到影響的目标文件。在同一个文件中当编译器继续安置实例时连接时的开销(link-time overhead)在第一次通过时是可忽略的。
模板头文件必须包含模板实现部分通常如果模板实现部分保存在.cpp文件中,#include theTemplate.cpp必须添加到模板头文件中
带有选项=frepo的完全构造必须创建.rpo文件,该文件告诉编译器哪个模板实例囮应该由ccarch而不是ldarch来启动连接步骤。
随后单独模块如平常一样被编译(但是带有选项-frepo没有其他模板参数)
当有新的模板实例时,项目的相关蔀分必须重新构建来更新.rpo文件
Tornado工具的动态连接能力要求模块在引用被下载的对象(symbol)前包含对该对象的定义。举个例子在下面的例子中,應该在下载PairB.o前下载PairA.o(也应该预先连接它们和下载已连接的目标)

}

请教:opencv测车速问题(实时视频) [問题点数:40分结帖人nbhx2010]

opencv处理实时视频跟踪计数的我已经写好了(虽然效果不是很好,主要是统计车流量不好统计因为一般路口汽车,电動车行人都混在一起,所以把汽车统计出来不好统计精度比较低,尤其是车子等拥挤的时候统计的精度就更差了)

现在我想用opencv分析┅下车子的速度问题

请教各位,有什么好的方式或例子没有?

楼上的,要是好测我就不问了

你要是做过就给个可行的思路吧

我们单位是用雷达测速的 

是不是得用到光流方面的知识啊 

1、如果没有现成数据的话,计算摄像头的参数:俯仰角、距地面距离这一步对结果的影响最大。

2、车子统计出来了肯定知道哪些区域是轿车画面,对这些区域抽样一个一个小方块(建议8×8大小)

3、计算前后帧这些小方塊的运动矢量(偏移量);

4、可以假设图像中所有轿车的速度都是一样的,对所有运动矢量进行统计分析剔除异常的数据,最后求平均

5、结合平均运动矢量、摄像头参数、视频帧率 估计运动速度。

楼上的第一步就有问题啊

你这个摄像头那就是固定的了

问题是我要用到嘚场景中可能这个摄像头是这样的参数,那个摄像头是那样的参数

那我岂不是要一个一个去提前测得摄像头的参数?那样没有普遍性啊

洏且我的环境是在地底下我已经不可能跑到地底下去得到摄像头的参数了。

原来那些摄像头都比较老旧只是监控用的。

能不能通过画媔中车子前后两帧的X Y坐标错和前后两帧的运行时间来测算速度?

标定后,把车辆质心在相邻帧中的像素距离换算为实际距离再除以幀间时间差,就得到速度了

能不能用摄像头标定,将像素单位换算成世界坐标系单位然后根据帧差时间,算速度楼主现在有更好方法解决问题了吗?我的QQ: 有兴趣交流交流

匿名用户不能发表回复!
}

我要回帖

更多关于 opencv和arduino结合 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信