常見的眼底彩照的配準方法是基於特徵點的,比如sift角點。操作起來比較麻煩,為了製作金標準,我選擇手動配準,因為我的資料只是存在偏移,旋轉等剛性變換,所以我採用的具體的方法是肉眼觀察選擇3對分散均勻,具有明顯特徵的分叉點。用opencv來計算這三對點所決定的仿射矩陣,然後再根據得到的仿射矩陣對浮**像做仿射變換。
**很簡單,關鍵在於特徵點的選取,可能需要多次嘗試和一定的經驗。(我一般試一兩次就能得到很好的配準效果,可能是因為資料集比較簡單吧)
def affine(img2,points1,points2):
'''基於特徵點對影象做仿射變換
'''rows,cols = img2.shape
points1 = np.float32(points1)#固定影象的控制點
points2 =np.float32(points2)#浮**像的控制點
函式的呼叫:
配準效果圖:(這個圖是有區域性形變的,所以部分血管沒有完全對齊,但就仿射變換而言,我覺得配準效果已經很好了)
SAC IA粗配準 NDT精配準
正態分佈變換演算法 3d ndt 正態分佈變換演算法應用於三維點的統計模型,使用標準最優化技術來確定兩個點雲間的最優的匹配,因為其在配準過程中不利用對應點的特徵計算和匹配,所以時間比其他方法快,可用於點較多時的配準過程。其原理可參考martin magnusson的the three dimensi...
點雲的粗配準和精配準
1.前言 點雲配準是點雲處理的重要技術之一,可以用來估計物體位姿,拼接多個視角下的點雲.分別用基於取樣一致性的粗配準,以及粗配準與icp精配準結合的方法進行配準實驗。粗配準流程圖如下,主要為精配準提供乙個比較好的初始位置。精配準採用icp配準,pcl庫實現思路 2.思考 以上可以看出無論是粗配準還是...
ITK elastix 剛性 配準
讀取資料設定 3d const unsigned int dimension 3 typedef float pixeltype typedef itk imageimagetype typedef itk imagefilereaderreadertype readertype pointer f...