1 / 11

程式規劃

程式規劃. Speaker: Jhen -Yu. 前情提要. int m_nCellX ; // X 座標 int m_nCellY ; // Y 座標 int m_nDTValue ; // 與邊界的最 短距離 int m_nScanRange ; // 搜尋圈數 double m_dbSkeletonAngle ; // 撞擊角度 int m_nBinaryValue ; // 二元值 int m_nCellType ; // 1: 物體 0: 背景 2: 邊界 int m_nSkeletonType ; // 1: 骨架 0: 非骨架

nuru
Download Presentation

程式規劃

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 程式規劃 Speaker: Jhen-Yu

  2. 前情提要 intm_nCellX; // X 座標 intm_nCellY; // Y 座標 intm_nDTValue; // 與邊界的最短距離 intm_nScanRange; // 搜尋圈數 double m_dbSkeletonAngle; // 撞擊角度 intm_nBinaryValue; // 二元值 intm_nCellType; // 1:物體 0:背景 2:邊界 intm_nSkeletonType; // 1:骨架 0:非骨架 intm_nMarkType; // 用於修剪中的標記 intm_nVectorPoint[4]; // 合成向量的來源 intm_nVectorDir[5]; // 流動方向 // 搜尋過程中儲存的所有邊界點 vector<int> m_vecCandBoundX; vector<int> m_vecCandBoundY; // 用於角度計算的邊界點 vector<int> m_vecFiltBoundX; vector<int> m_vecFiltBoundY; • Using class • 記錄的變數過多 • 考量記憶體及效率層面 • 須簡化 • Using struct • 只保留幾個主要的變數 • Ex: DTValue、Angle、Directions... 由 Cell(Class) 所記錄的變數

  3. 前情提要 • 原程式 • 由 Cell 去記錄所有變數 • 可以隨時存取 • 演算法每一個步驟都是分開處理 • 新的平台 • 變數簡化所產生的問題 • 演算法中數個步驟要連在一起做 • 參數傳遞

  4. 影像載入及邊界點定義 版本1: 分為兩個buffer,原始影像 + 邊界狀態 Buffer 2: Boundary type 外邊界 Buffer 2: Boundary type 內邊界 Buffer 1: Original image

  5. 方向性的距離轉換 • 目的 • 定義DT值 • 找出最大角度 • 規劃流動方向 • 考慮新增變數 • nComponentNum • 過濾用 • 角度計算用 邊界點搜尋 DT值 Component Com.個數 Using Com. 角度計算 Angle值 Directly 流動方向 Directions

  6. 特徵點定義 • 所需變數 • dbSkeletonAngle • 角度門檻值 • Ex: 150∘ • 考慮新增變數 • bSkeleton • 延伸過程所產生的骨架 • 角度普遍小於門檻值 • 辨別的問題 intm_nDTValue; // 與邊界的最短距離 double m_dbSkeletonAngle; // 撞擊角度 intm_nVectorDir[5]; // 流動方向 intm_nComponentNum; // Com.個數 boolm_nbSkeleton; // 是否為骨架 由 Cell(Struct) 所記錄的變數

  7. 特徵點篩選 • 所需變數 • bSkeleton(骨架狀態) • nDTValue(距離) • nComponentNum(Com個數) • 現有的兩種方式 • DTND(常態分佈) • DTCOM

  8. 特徵點延伸 • 所需變數 • bSkeleton(骨架狀態) • nVectorDir[5](延伸方向) • dbSkeletonAnlge(角度)

  9. 特徵點修剪 • 所需變數 • bSkeleton(骨架狀態) • dbSkeletonAnlge(角度) • …..

  10. 影像載入 邊界點定義 程式流程 邊界點搜尋 DTValue • 變數 • 流程 Com.個數 Component Using Com. 角度計算 Angle Value Directly 流動方向 Directions 特徵點定義 bSkeleton 特徵點篩選 intm_nDTValue; // 與邊界的最短距離 double m_dbSkeletonAngle; // 撞擊角度 intm_nVectorDir[5]; // 流動方向 intm_nComponentNum; // Com.個數 boolm_nbSkeleton; // 是否為骨架 特徵點延伸 由 Cell(Struct) 所記錄的變數 特徵點修剪

  11. THE END

More Related