예제 #1
0
        private void OnQualityChanged(ImageTargetBuilder.FrameQuality quality)
        {
            if (_frameQualityText.IsDestroyed())
            {
                return;
            }
            switch (quality)
            {
            case ImageTargetBuilder.FrameQuality.FRAME_QUALITY_NONE:
            case ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW:
                _frameQualityText.text  = "识别度:低";
                _frameQualityText.color = Color.red;
                break;

            case ImageTargetBuilder.FrameQuality.FRAME_QUALITY_MEDIUM:
                _frameQualityText.text  = "识别度:中";
                _frameQualityText.color = Color.yellow;
                break;

            case ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH:
                _frameQualityText.text  = "识别度:高";
                _frameQualityText.color = Color.green;
                break;

            default:
                throw new ArgumentOutOfRangeException("quality", quality, null);
            }
        }
예제 #2
0
    /// <summary>
    /// Updates the current frame quality
    /// </summary>
    public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
    {
        Color red   = new Color(0.65f, 0.23f, 0.23f, 1f);
        Color green = new Color(0.28f, 0.63f, 0.19f, 1f);

        Debug.Log("Frame quality changed: " + frameQuality.ToString());
        mFrameQuality = frameQuality;
        GameObject BuilderBtn    = BuilderBtnImg.gameObject;
        GameObject BuilderBtnMsg = BuilderBtn.transform.Find("RawMessage").gameObject;

        ui.Text BuilderBtnTxt = BuilderBtnMsg.GetComponent <ui.Text>();

        if (mFrameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
        {
            // set colour to red and show low quality message
            BuilderBtnImg.color = red;
            BuilderBtnMsg.SetActive(true);

            Debug.Log("Low camera image quality");
        }
        else
        {
            // set colour to green and hide the low quality message
            BuilderBtnImg.color = green;
            BuilderBtnMsg.SetActive(false);
        }
    }
예제 #3
0
 /// <summary>
 /// Updates the current frame quality
 /// </summary>
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     mFrameQuality = frameQuality;
     if (mFrameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
     {
         Debug.Log("Low camera image quality");
     }
 }
예제 #4
0
 /// <summary>
 /// Updates the current frame quality
 /// </summary>
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     Debug.Log("Frame quality changed: " + frameQuality.ToString());
     m_FrameQuality = frameQuality;
     if (m_FrameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
     {
         Debug.Log("Low camera image quality");
     }
 }
예제 #5
0
 void Start()
 {
     m_UserDefinedTarget = this.GetComponent <UserDefinedTargetBuildingBehaviour>();//获取挂载这个脚本的物体上的UserDefinedTargetBuildingBehaviour脚本
     m_FrameQuality      = ImageTargetBuilder.FrameQuality.FRAME_QUALITY_NONE;
     if (m_UserDefinedTarget != null)
     {
         m_UserDefinedTarget.RegisterEventHandler(this);
     }
 }
예제 #6
0
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     Debug.Log("Frame quality changed: " + frameQuality);
     _frameQuality = frameQuality;
     if (_frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
     {
         Debug.Log("Low camera image quality");
     }
     OverlayViewModel.Instance.IsGreenAimVisible = _frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH;
 }
예제 #7
0
    public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
    {//获取当前场景的质量,负责创建数据集
        this.frameQuality = frameQuality;
        if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
        {
            Debug.Log("Low");
        }

        frameQualityDisplay.SetQuality(this.frameQuality);
    }
예제 #8
0
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     Debug.Log("Frame quality changed: " + frameQuality);
     _frameQuality = frameQuality;
     if (_frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
     {
         Debug.Log("Low camera image quality");
     }
     TurbineViewModel.Instance.TargetQuality = (TargetQuality)((int)frameQuality + 1);
 }
예제 #9
0
 /// <summary>
 /// called when the UserDefinedTargetBehaviour reports a new frame Quality
 /// </summary>
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH ||
         frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_MEDIUM)
     {
         Debug.Log("BUILDING STARTED...");
         buildingBehaviour.BuildNewTarget("newTarget", Screen.width);
     }
     Debug.Log("frame quality changed...");
 }
 private void SetFrameQuality(ImageTargetBuilder.FrameQuality frameQuality)
 {
     if (frameQuality != this.mLastFrameQuality)
     {
         foreach (IUserDefinedTargetEventHandler handler in this.mHandlers)
         {
             handler.OnFrameQualityChanged(frameQuality);
         }
         this.mLastFrameQuality = frameQuality;
     }
 }
예제 #11
0
    private void SetFrameQuality(ImageTargetBuilder.FrameQuality frameQuality)
    {
        if (frameQuality != mLastFrameQuality)
        {
            // notify the event handlers:
            foreach (IUserDefinedTargetEventHandler eventHandler in mHandlers)
            {
                eventHandler.OnFrameQualityChanged(frameQuality);
            }

            mLastFrameQuality = frameQuality;
        }
    }
예제 #12
0
 private void SetFrameQuality(ImageTargetBuilder.FrameQuality frameQuality)
 {
     if (frameQuality != this.mLastFrameQuality)
     {
         using (List <IUserDefinedTargetEventHandler> .Enumerator enumerator = this.mHandlers.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 enumerator.Current.OnFrameQualityChanged(frameQuality);
             }
         }
         this.mLastFrameQuality = frameQuality;
     }
 }
예제 #13
0
    /// <summary>
    /// Draws the UI when in scan mode.
    /// Automatically shows Help dialog when starting and after timeout.
    /// </summary>
    public void DrawUI(ImageTargetBuilder.FrameQuality frameQuality)
    {
        if (frameQuality != ImageTargetBuilder.FrameQuality.FRAME_QUALITY_NONE)
        {
            // draw the view finder UI...
            if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_MEDIUM || frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH)
            {
                // draw the view finder with green marks
                mUserInterface.DrawViewFinder(Color.green);
            }
            else
            {
                // draw the basic viewfinder with white marks and show the scanning message
                mUserInterface.DrawViewFinder(Color.white);
            }

            UserDefinedTargetBuildingUI.ButtonID buttonId = UserDefinedTargetBuildingUI.ButtonID.NONE_PRESSED;

            if (QCARRuntimeUtilities.IsLandscapeOrientation)
            {
                // Draws the Landscape UI for the Scanning Mode
                buttonId = mUserInterface.DrawScanningModeLandscapeUI();
            }
            else
            {
                // Draws the Portrait UI for the scanning mode
                buttonId = mUserInterface.DrawScanningModePortraitUI();
            }

            // Checks Button actions
            if (buttonId == UserDefinedTargetBuildingUI.ButtonID.CANCEL_PRESSED)
            {
                mStopScanningCallback();
            }
            else if (buttonId == UserDefinedTargetBuildingUI.ButtonID.BUILD_TARGET_PRESSED)
            {
                // check if the current frame has too low quality to create a good target
                if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
                {
                    ErrorMsg.New("Low Quality Image", "The image has very little detail, please try another.",
                                 () => mUserInterface.ButtonPressed = true);
                }
                mStartBuildingCallback();
            }
        }

        // Draws possible error messages
        ErrorMsg.Draw();
    }
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     currentQuality = frameQuality;
     if (currentQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH)
     {
         qualityText.text = "HIGH Quality";
     }
     else if (currentQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_MEDIUM)
     {
         qualityText.text = "MEDI Quality";
     }
     else
     {
         qualityText.text = "LOW Quality";
     }
 }
예제 #15
0
    /// <summary>
    /// Updates the current frame quality
    /// </summary>
    public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
    {
        Debug.Log("Frame quality changed: " + frameQuality.ToString());
        if (!m_ObjectTracker.IsActive)
        {
            debugMessage.SetDebugText(frameQuality.ToString());
        }
        else
        {
            debugMessage.SetDebugText("Tracking...");
        }
        m_FrameQuality = frameQuality;
        if (m_FrameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
        {
            Debug.Log("Low camera image quality");
        }

        m_FrameQualityMeter.SetQuality(frameQuality);
    }
예제 #16
0
    public void UpdateQuality(ImageTargetBuilder.FrameQuality frameQuality)
    {
        if (this.frameText == null)
        {
            return;
        }

        if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_NONE)
        {
            this.frameText.text = "Frame Quality: NONE";
        }
        else if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_LOW)
        {
            this.frameText.text = "Frame Quality: LOW";
        }
        else if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_MEDIUM)
        {
            this.frameText.text = "Frame Quality: MEDIUM";
        }
        else if (frameQuality == ImageTargetBuilder.FrameQuality.FRAME_QUALITY_HIGH)
        {
            this.frameText.text = "Frame Quality: HIGH";
        }
    }
예제 #17
0
 // This method updates the framequality
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     udt_FrameQuality = frameQuality;
     print(udt_FrameQuality);
     //throw new System.NotImplementedException();
 }
예제 #18
0
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     mFrameQuality = frameQuality;
 }
    private void SetFrameQuality(ImageTargetBuilder.FrameQuality frameQuality)
    {
        if (frameQuality != mLastFrameQuality)
        {
            // notify the event handlers:
            foreach (IUserDefinedTargetEventHandler eventHandler in mHandlers)
                eventHandler.OnFrameQualityChanged(frameQuality);

            mLastFrameQuality = frameQuality;
        }
    }
 /// <summary>
 /// Updates the current frame quality
 /// </summary>
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     mFrameQuality = frameQuality;
 }
예제 #21
0
 /// <summary>
 /// Updates the current frame quality
 /// </summary>
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     Debug.Log("Frame quality changed: " + frameQuality.ToString());
     m_FrameQuality = frameQuality;
 }
예제 #22
0
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality) // метод отвечающий за качество кадра во время перемещения камеры аналог Update, подробнее по ссылке https://library.vuforia.com/articles/Training/User-Defined-Targets-Guide
 {                                                                               // он нужен для определения качества картинки как 5 звезд в Vuforia
     UDT_Quality = frameQuality;
     _farmequalitymeter.SetQuality(frameQuality);
     Debug.Log("Quality");
 }
예제 #23
0
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     this.currentQuality = frameQuality;
     this.frameQualityScreen.UpdateQuality(frameQuality);
 }
예제 #24
0
 /// <summary>
 /// Updates the current frame quality
 /// </summary>
 public void OnFrameQualityChanged(ImageTargetBuilder.FrameQuality frameQuality)
 {
     Debug.Log("Frame quality changed: " + frameQuality);
     _frameQuality = frameQuality;
     MainSceneController.Instance.OnArFrameQualityChanged.Invoke(frameQuality);
 }