寫(xiě)在開(kāi)頭
之前一直用 Python,最近寫(xiě)一個(gè)腳本需要用到 ITK 用來(lái)對(duì)處理醫(yī)學(xué)圖像,ITK 與 OpenCV 主打功能相似,都是面向于圖像處理,但是兩者在領(lǐng)域應(yīng)用方面有一定的差別;
- ITK :對(duì)二維三維醫(yī)學(xué)圖像數(shù)據(jù)做基本圖像處理,分割以及配準(zhǔn);
- OpenCv :是計(jì)算機(jī)視覺(jué)的基礎(chǔ),用于二維圖像上的圖像處理,更廣闊的是應(yīng)用到機(jī)器學(xué)習(xí);總體來(lái)說(shuō),itk 和 OpenCv 都是用來(lái)做圖像處理,但是 itk 面向?qū)ο蟾∫稽c(diǎn),是面向醫(yī)學(xué)方面的圖像。
最初的itk 第一個(gè)版本是由 C++ 語(yǔ)言開(kāi)發(fā)的,源碼都是開(kāi)源的,能夠?qū)崿F(xiàn)跨平臺(tái)運(yùn)行;源于庫(kù)里面封裝了許多優(yōu)秀算法(例如提取特征點(diǎn)的SIFT、SURE、ORB算法;特征點(diǎn)配對(duì)中的FNN),可以非常方便地去完成圖片配準(zhǔn)、分割功能,隨著用戶(hù)需求越來(lái)越大,隨后逐步面向 python、Java 都開(kāi)放了接口,能都可以實(shí)現(xiàn)多種語(yǔ)言編程;
如果你用的是python,那么可以在命令行通過(guò)pip install itk很方便地實(shí)現(xiàn) itk 庫(kù)的配置;但是 itk 的官方文檔主要是以 C++ 為例的,所以這篇文章主要介紹的是在 Visual Studio 軟件上 對(duì) itk 的配置
在 Visual Studio 上對(duì) itk 庫(kù)的配置,我將分為以下幾個(gè)部分進(jìn)行講解: - itk 源碼 和 Cmake 工具(后面是用來(lái)對(duì) itk 庫(kù)進(jìn)行編譯的)的下載(在github上)
- Cmake 對(duì) itk 源碼進(jìn)行編譯(這個(gè)過(guò)程很重要,決定后面能否安裝成功);
- 用 Visual Studio 配置已經(jīng)編譯后的 itk ;
- 隨后配置 VS 的連接器,包目錄,文件目錄對(duì) ITK 的 lib、dll 文件的配置;
安裝之前說(shuō)一下,最好不要用 Visual Studio 2019 版本的軟件來(lái)配置 itk,否則會(huì)在進(jìn)行第三步出現(xiàn)莫名錯(cuò)誤導(dǎo)致配置失敗,具體原因我也不清楚,可能2019版本太新會(huì)出現(xiàn)與 ITK 不兼容問(wèn)題,下載 ITK 的時(shí)候 也不建議下載最新版本 ,因?yàn)?,有時(shí)候最新的不一定是最好的
開(kāi)始安裝
Visual Studio 的安裝在這里就不講了,假設(shè)你已經(jīng)安裝成功了(還是建議安裝的讀者 VS 版本最好是 2017及以前的版本)
ITK 源碼安裝 地址


Cmake 安裝地址

Cmake 軟件的下載安裝與普通軟件一樣,這里不再贅述,,,
創(chuàng)建安裝目錄
Cmake軟件安裝成功之后,把在一個(gè)文件夾中創(chuàng)建三個(gè)新的文件夾:BIN、Source、Build 三個(gè),如下圖:

- BIN 用于后面 Cmake 編譯用到的,
- Build 作為 Cmake 編譯的存放目錄;
- Source 存放我們從官網(wǎng)下載的源碼,以我自己安裝目錄為例:E:/itk/Source/ITK-4.13.2

開(kāi)始編譯;
打開(kāi) Cmake 的安裝目錄,找到 /bin/cmake-gui 文件,打開(kāi)應(yīng)用程序 cmake-gui

Cmake 上面兩個(gè)文本框 選擇文件夾為:
- Browse Source… 選擇我們的 ITK 源碼存放目錄,我這里是:E:/itk/Source/ITK-4.13.2
- Browse Build… 選擇我們剛剛創(chuàng)建的 Build 文件夾目錄;

以上文件夾都配對(duì)好之后,點(diǎn)擊頁(yè)面下方的 Configure 選項(xiàng);
隨后,就讓 Cmake 軟件自己進(jìn)行編譯就 Ok 了,直到頁(yè)面變成這個(gè)樣子,


接下來(lái)重點(diǎn)來(lái)了
下面一系列的配置講決定下面是否能夠配置成功,首先對(duì)上面的 Advanced 選項(xiàng)打勾,之后開(kāi)始對(duì)下面選框中的內(nèi)容進(jìn)行配置,
- 選框中 BUILD_EXAMPLE 和BUILD_TESTING 是生成示例用的,一般來(lái)說(shuō)不勾選;
- BUILD_SHARED_LIBS 默認(rèn)關(guān)閉,意味著是庫(kù)是靜態(tài)編譯的,只生成lib,若選中,則動(dòng)態(tài)編譯,將生成 dll 文件(這里是選中);
- 找到 CMAKE_INSTALL_PREFIX 選項(xiàng),這個(gè)是表示 ITK 的安裝路徑,其頭文件、lib 文件和動(dòng)態(tài)鏈接庫(kù) dll 文件;這里我們修改為,/irk/BIN/,就是創(chuàng)建目錄那一步的 BIN 文件夾;

以上配置好之后,點(diǎn)擊下面 Configure 按鈕進(jìn)行配置,當(dāng)上面不在出現(xiàn)紅色區(qū)域(如果出現(xiàn)紅色區(qū)域繼續(xù)點(diǎn)擊 Configure 按鈕進(jìn)行配置直到紅色區(qū)域消失)并且下面調(diào)試框中有 Configure done 文字出現(xiàn)時(shí),則代表配置成功,隨后點(diǎn)擊下方的 Generate 按鈕即可。(這一步配置所用的時(shí)間會(huì)大大縮短)

最后調(diào)試窗口會(huì)有 Generate done 文字的出現(xiàn),即代表編譯成功!頁(yè)面先別急著關(guān)閉,接下來(lái)就需要進(jìn)行用 Visual Studio 軟件進(jìn)行一下配置,可以直接點(diǎn)擊 Open Project 按鈕,用 Visual Studio 打開(kāi);
Visual Studio 配置;
隨后頁(yè)面會(huì)如下圖,選中菜單欄中的 生成 -> 生成 ALL_BUILD() 按鈕,隨后就是等待 Visual Studio 配置成功,這個(gè)配置時(shí)間會(huì)有點(diǎn)長(zhǎng),需要等的時(shí)間較長(zhǎng)一點(diǎn);

當(dāng)調(diào)試框出現(xiàn) 成功 * 例,錯(cuò)誤0例 時(shí),則代表配置成功了。

最后一步就是要把頭文件、dll,配置到 VS 中 ,新建項(xiàng)目 -→ 新建項(xiàng)目→屬性管理器 → 你的項(xiàng)目名稱(chēng) → Debug | ×64.user[右鍵] → 屬性

然后按照自己的安裝情況分別給 VC++目錄 里的 包含目錄 和 庫(kù)目錄加上自己的信息;鏈接器 → 輸入 → 附加依賴(lài)項(xiàng) 也要配置自己的一些信息;

接下來(lái)可以創(chuàng)建一個(gè)腳本測(cè)試一下,會(huì)發(fā)現(xiàn)已經(jīng)可以使用了,測(cè)試的時(shí)候需要注意一下就是上面的Debug 要跟據(jù)自己情況調(diào)一下,默認(rèn)情況下都是 X86;
