ITK elastix 剛性 配準

2021-10-07 22:29:04 字數 1823 閱讀 8833

讀取資料設定 3d

const unsigned int dimension = 3;

typedef float pixeltype;

typedef itk::imageimagetype;

typedef itk::imagefilereaderreadertype;

readertype::pointer fixreader = readertype::new();

readertype::pointer movreader = readertype::new();

fixreader->setfilename("d:/input/fixed.mhd");

movreader->setfilename("d:/input/moving.mhd");

trycatch (itk::exceptionobject &ex)

準備配準引數設定

typedef elastix::parametermaptype registrationparameterstype;

typedef itk::parameterfileparser parsertype;

// create parser for transform parameters text file.

parsertype::pointer file_parser = parsertype::new();

// try parsing transform parameters text file.

file_parser->setparameterfilename("d:/input/parameters_rigid.txt");

trycatch (itk::exceptionobject & e)

執行elastix

registrationparameterstype parameters = file_parser->getparametermap();

typedef std::vectorregistrationparameterscontainertype;

elastix* elastix = new elastix();

int error = 0;

trycatch (itk::exceptionobject &err)

if (error == 0)

else

// get transform parameters of all registration steps.

// clean up memory.

delete elastix;

}

儲存資料(注意 imagetype pixeltyp,讀取和儲存時,一定要注意,否則會有崩潰的可能)

write the deformation field

itk::metaimageiofactory::registeronefactory();

typedef itk::imagefilewriterwritertype;

writertype::pointer writer = writertype::new();

writer->setfilename("d:/output/imag.mhd");

writer->setinput(output_image);

writer->setusecompression(false);

trycatch (itk::exceptionobject & err)

工程配置很複雜,這裡不展開

點雲(剛性)配準 icp

二 解讀 提到配準演算法,icp認第二,沒哪種演算法敢認第一,可見,icp這道坎是繞不過去的,在本文中,會重點介紹icp的原理與實現方案,同時,也會結合pcl中的 進行詳細介紹。從本質上講,icp類演算法的基本原理是 對於兩組點雲p和q,計算旋轉矩陣r與旋轉矩陣t,使目標函式e最小 e 1 2 fr...

SAC IA粗配準 NDT精配準

正態分佈變換演算法 3d ndt 正態分佈變換演算法應用於三維點的統計模型,使用標準最優化技術來確定兩個點雲間的最優的匹配,因為其在配準過程中不利用對應點的特徵計算和匹配,所以時間比其他方法快,可用於點較多時的配準過程。其原理可參考martin magnusson的the three dimensi...

點雲的粗配準和精配準

1.前言 點雲配準是點雲處理的重要技術之一,可以用來估計物體位姿,拼接多個視角下的點雲.分別用基於取樣一致性的粗配準,以及粗配準與icp精配準結合的方法進行配準實驗。粗配準流程圖如下,主要為精配準提供乙個比較好的初始位置。精配準採用icp配準,pcl庫實現思路 2.思考 以上可以看出無論是粗配準還是...