我有一个从移动车辆前面记录的视频文件.我将使用OpenCV进行对象检测和识别,但我坚持一个方面.如何确定与识别对象的距离.
我可以知道我目前的速度和现实世界的GPS位置,但就是这样.我无法对我正在跟踪的对象做出任何假设.我打算使用它来跟踪和跟踪对象而不会与它们发生碰撞.理想情况下,我想使用这些数据来推导物体的真实世界位置,如果我能确定从相机到物体的距离,我就能做到这一点.
我需要在a上绘制动态叠加层QImage.叠加的组成部分用XML定义,并解析QHash<QString, QPicture>为QString是名称的位置(例如"十字准线"),并且QPicture是独立于分辨率的绘图.然后,我在运行时确定的位置处绘制叠加的组件.
示例:我的QHash中有10张图片,构成了HUD中的每个可能元素.在特定的视频帧期间,我需要在图像的不同位置绘制其中的6个.在下一帧期间,某些事情发生了变化,现在我只需要绘制其中的4个,但其中2个位置已经改变.
现在我的问题是:如果我想快速完成这个,我应该重新定义我的QHash QHash<int, QPicture>并枚举键来抵消字符串比较造成的开销; 或者这些比较不会对绩效产生很大影响?我可以很容易地转换为整数键,因为XML解析器和叠加组合器是完全独立的类; 但我想在整个应用程序中使用一致的数据结构.
我是否应该克服我对一致性和可重用性的渴望,以提高性能?如果我这样做会非常重要吗?
我有一个flex应用程序和一个papervision BasicView.我想在papervision类中添加一个新的flex UIComponent(例如一个按钮).我在下面发布了完整的示例代码.它有效,但我希望能够在没有"(this.parent.parent as Group).addElement(button);"的情况下完成我的目标.线.
<!--Application MXML-->
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="50" minHeight="50"
        creationComplete="Init()" applicationComplete="Start()">
    <fx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            import spark.components.Button;
            public var start:QuickStart;
            public function Init():void
            {
                start = new QuickStart();
                var uicomp:UIComponent = new UIComponent();
                addElement( uicomp );
                uicomp.addChild( start );
            }
            public function Start():void
            {
                start.GoTime();
            }
        ]]>
    </fx:Script>
</s:Application>
//QuickStart.as
package{
    import org.papervision3d.view.BasicView;
    public class QuickStart extends BasicView
    {
        public function QuickStart()
        {
            super(500, 500, true, true);
        }
        public function GoTime():void
        {
            var …Run Code Online (Sandbox Code Playgroud)