- Jan 03 Wed 2018 20:35
-
快速作完婚紗投影片
- Jan 03 Wed 2018 20:12
-
博客來買書變便宜
- Jan 03 Wed 2018 19:33
-
為什麼會選擇 UBER
- Sep 22 Fri 2017 16:54
-
微分法則 (Differentiation rules)
- Sep 12 Tue 2017 19:31
-
雙輪機器人的移動軌跡
- Sep 05 Tue 2017 19:19
-
如何取得圓所包含的像素點位置

table td, table th {padding: 6px; border:1px solid #000000;}
如何取得圓所包含的像素點位置
在圖中已知一點 (x, y) 為圓的中心點,圓的半徑為 r,求該圓內的所有像素點位置?
- Sep 05 Tue 2017 18: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
文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知,謝謝。
- Apr 20 Thu 2017 14:55
-
三維座標系 - 左手座標系、右手座標系
- Dec 14 Wed 2016 11:09
-
卡爾曼濾波 (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)
搭配圖示如下:
理解卡爾曼濾波器
卡爾曼濾波器的主要步驟有兩個:預估 以及 測量更新,以下舉一個例子作簡單說明。
假設要利用卡爾曼濾波器來計算房間內每分鐘的溫度變化:








