PIXNET Logo登入

<span style="font-size: 16pt; color: blue">拾人牙慧</span>

跳到主文

If I can't explain it simply, I don't understand it well enough.

部落格全站分類:職場甘苦

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 05 週二 201718:53
  • 如何使挑選到的特徵點廣泛分佈於影像


table td, table th {padding: 6px; border:1px solid #000000;}
如何使挑選到的特徵點廣泛分佈於影像
Q: 在一張特徵點分佈不平均的圖片中,如何限制所挑選的特徵點能儘量分佈於整個圖片?
A:
  • 利用廣度優先,將圖片分割成數個等大小區塊。

  • 如果區塊個數少於要挑選的特徵點個數,則將特徵點個數多於一個的區塊再分割成數個等大小區塊,持續重複此步驟,直到區塊個數多於要挑選的特徵點個數。

  • 最後每個區塊只取該區塊內強度最強的特徵點作代表,最有的區塊分割可能如下:

  • 程式範例:(截取於 ORB-SLAM2 ORBextractor::DistributeOctTree())
    while(lit != lNodes.end())
    {
    if(lit->bNoMore) // 如果只有一個特徵點,便不再分割
    {
    // If node only contains one point do not subdivide and continue
    lit++;
    continue;
    }
    else // 否則再細分為四個子區塊
    {
    // If more than one point, subdivide
    ExtractorNode n1,n2,n3,n4;
    lit->DivideNode(n1, n2, n3, n4);
    // Add childs if they contain points
    if(n1.vKeys.size() > 0)
    {
    lNodes.push_front(n1);
    if(n1.vKeys.size() > 1)
    {
    nToExpand++;
    vSizeAndPointerToNode.push_back(make_pair(n1.vKeys.size(),&lNodes.front()));
    lNodes.front().lit = lNodes.begin();
    }
    }
    if(n2.vKeys.size() > 0)
    {
    lNodes.push_front(n2);
    if(n2.vKeys.size() > 1)
    {
    nToExpand++;
    vSizeAndPointerToNode.push_back(make_pair(n2.vKeys.size(),&lNodes.front()));
    lNodes.front().lit = lNodes.begin();
    }
    }
    if(n3.vKeys.size() > 0)
    {
    lNodes.push_front(n3);
    if(n3.vKeys.size() > 1)
    {
    nToExpand++;
    vSizeAndPointerToNode.push_back(make_pair(n3.vKeys.size(),&lNodes.front()));
    lNodes.front().lit = lNodes.begin();
    }
    }
    if(n4.vKeys.size() > 0)
    {
    lNodes.push_front(n4);
    if(n4.vKeys.size() > 1)
    {
    nToExpand++;
    vSizeAndPointerToNode.push_back(make_pair(n4.vKeys.size(),&lNodes.front()));
    lNodes.front().lit = lNodes.begin();
    }
    }
    lit = lNodes.erase(lit);
    continue;
    }
    }
    Reference

    文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知,謝謝。
    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(193)

    • 個人分類:程式設計
    ▲top
    • 4月 20 週四 201714:55
    • 三維座標系 - 左手座標系、右手座標系




    table td, table th {padding: 6px; border:1px solid #000000;}


    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(14,845)

    • 個人分類:VO
    ▲top
    • 12月 30 週五 201616:49
    • git 指令


    table td, table th {padding: 6px; border:1px solid #000000;}
     
     
    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(16,141)

    • 個人分類:Linux
    ▲top
    • 12月 14 週三 201611:09
    • 卡爾曼濾波 (Kalman Filter)

    卡爾曼濾波 (Kalman Filter)
    table td, table th {padding: 6px; border:1px solid #000000;}
    卡爾曼濾波器又稱為最佳線性濾波器(輸出值為輸入值的線性組合),為實現簡單、純時間域的濾波器,在實現過程中,所有關於不確定性的關係(雜訊),都會用到共變異數矩陣。
    卡爾曼濾波器的五個基本公式:
    X(k|k-1) = F X(k-1|k-1) + B U(k) ...(1)
    P(k|k-1) = F P(k-1|k-1) FT + Q ...(2)
    X(k|k) = X(k|k-1) + Kg(k) (Z(k) - H X(k|k-1)) ...(3)
    Kg(k) = P(k|k-1) HT / (H P(k|k-1) HT + R) ...(4)
    P(k|k) = (I - Kg(k) H) P(k|k-1) ...(5)
    簡單翻成白話分別為:
    利用 k-1 的狀態,加上變化量,預估出 k 狀態。 ...(1)
    利用 k-1 狀態的雜訊,配合步驟(1)預估 k 狀態的雜訊,預估出 k 狀態的雜訊。 ...(2)
    利用預估出的 k 狀態 與 k 的測量狀態 搭配權重值(Kalman Gain) 完成更新 k 狀態。 ...(3)
    權重值(Kalman Gain) 是由步驟(2)中的 k 狀態的雜訊 與 測量雜訊 經計算而求得。 ...(4)
    最後利用 權重值(Kalman Gain) 更新 k 狀態的雜訊。 ...(5)
    搭配圖示如下:
    理解卡爾曼濾波器
    卡爾曼濾波器的主要步驟有兩個:預估 以及 測量更新,以下舉一個例子作簡單說明。
    假設要利用卡爾曼濾波器來計算房間內每分鐘的溫度變化:
    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(4) 人氣(61,906)

    • 個人分類:數學
    ▲top
    • 12月 08 週四 201614:25
    • [翻譯] 如何在嵌入式系統中使用 IMU (加速度計與陀螺儀)




    table td, table th {padding: 6px; border:1px solid #000000;}


    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(18,419)

    • 個人分類:Linux
    ▲top
    • 10月 27 週四 201620:46
    • 三維旋轉表示法 - 歐拉角、旋轉矩陣、旋轉向量、四元數




    table td, table th {padding: 6px; border:1px solid #000000;}


    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(71,678)

    • 個人分類:VO
    ▲top
    • 10月 27 週四 201617:57
    • Gradient Magnitude & Gradient Direction in Image

    image-derivative


    table td, table th {padding: 6px; border:1px solid #000000;}


    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(5,398)

    • 個人分類:VO
    ▲top
    • 10月 19 週三 201617:11
    • RANSAC (RANdom SAmple Consensus)




    table td, table th {padding: 6px; border:1px solid #000000;}


    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(7,436)

    • 個人分類:數學
    ▲top
    • 10月 13 週四 201617:31
    • Laplacian Mask 的系數由來



    table td, table th {padding: 6px; border:1px solid #000000;}
    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(7,898)

    • 個人分類:VO
    ▲top
    • 10月 07 週五 201617:25
    • OpenCV Tutorials - Feature Detection and Description - Feature Matching + Homography




    table td, table th {padding: 6px; border:1px solid #000000;}


    (繼續閱讀...)
    文章標籤

    silverwind1982 發表在 痞客邦 留言(0) 人氣(403)

    • 個人分類:VO
    ▲top
    «1...891013»

    熱門文章

    • (504,446)三角函數 (Trigonometry)
    • (318,186)特徵向量(Eigenvector) 及 特徵值(Eigenvalue) 的定義及求法
    • (176,296)旋轉矩陣 (Rotation Matrix)
    • (78,051)Pinhole Camera: 相機校正 (Camera Calibration)
    • (61,906)卡爾曼濾波 (Kalman Filter)
    • (36,222)小波轉換 (Wavelet Transform)
    • (30,279)Pinhole Camera: 針孔相機座標成像原理
    • (18,137)正交 (Orthogonal)
    • (17,508)電腦視覺矩陣 (Matrices in Computer Vision)
    • (13,455)Pinhole Camera: Epipolar Geometry

    文章精選

    最新留言

    • [25/07/14] Lazy Lai 於文章「RU.efi & Rw.exe...」留言:
      可以請問要怎麼製作usb開機嗎,因為我用rufus想寫入ru...
    • [23/02/19] Yang 於文章「旋轉矩陣 (Rotation Matri...」留言:
      RyRxRz和RzRxRy的主要差異是? 為什麼是Y或Z在...
    • [22/07/14] dd 於文章「理解 lspci...」留言:
      好文,推個 補充說明: update-pciids 可以...
    • [22/01/21] 高璽鎧 於文章「Pinhole Camera: 3D 深...」發表了一則私密留言
    • [20/08/10] jwang0189 於文章「三角函數 (Trigonometry)...」留言:
      非常實用的文章,謝謝提供,已點廣告表示支持 https://...
    • [19/09/27] 岳聖翔 於文章「旋轉矩陣 (Rotation Matri...」留言:
      為什麼正y軸旋轉的-sin不同位置...
    • [19/06/17] viiresh 於文章「Pinhole Camera: 針孔相機...」留言:
      謝謝你寫這篇! 觀念清晰易懂, 值得推!...
    • [18/12/27] Wayne 於文章「卡爾曼濾波 (Kalman Filter...」發表了一則私密留言
    • [18/12/25] Wayne 於文章「卡爾曼濾波 (Kalman Filter...」留言:
      hi silverwind 大 想請問一下P(k|k)...
    • [18/12/15] Wayne 於文章「卡爾曼濾波 (Kalman Filter...」留言:
      感謝! 可以也教學EKF和UKF嗎?...

    文章分類

    toggle 硬體 (1)
    • 週邊 (4)
    toggle 軟/韌體 (10)
    • 架構 (3)
    • 週邊 (7)
    • 程式設計 (7)
    • 數學 (12)
    • Linux (25)
    • Embedded Linux (7)
    • BIOS (2)
    • 網路 (13)
    • VO (32)
    • Windows (2)
    • 未分類文章 (1)

    最新文章

    • Processor Pin / GPIO Pin 設定值
    • MAC 與 PHY 之間的 SGMII
    • D-Bus 簡介
    • SPI 簡介
    • UART 簡介
    • I2C 簡介
    • Device Tree (DTS) 簡介
    • 透過 Tera Term MODEM 傳輸資料
    • USB Pinout 線路
    • 在 ARM Linux 上生成 Root File System (RFS) Image