我目前是研一的計算機視覺學生,我的課題是醫學圖像的分割,但我在matlab opencv itk徘徊?
我對opencv,matlab和itk方面來看,針對以後就業考慮和難度程度來看。我比較傾向於opencv,matlab就用不到cpp了,我喜歡cpp。雖然itk是專攻醫學圖像的庫但畢竟以後就業不太好,剩下的opencv是我最喜歡的,因為無論在處理還是和cuda的結合上我都嘗試過和使用過,並且在就業上也廣。但是我不清楚它在醫學圖像分割上相比其他是不是劣勢很大,懇請各位前輩指點!
謝邀!
個人建議你繼續用Opencv,正如你所說的,基本目前計算機視覺方向用人單位都是要求熟悉使用Opencv庫的,而且在圖像處理上面也有很豐富的API(計算機視覺和圖像處理不分家)。即使達不到自己項目的精度或實時性方面的要求,你也可以通過優化代碼或者Cuda編程實現加速這都是很方便的(雖說python現在用的比較多,但牽扯到底層還是用的c++)!都是基於圖像上的處理嘛,醫學上也大同小異!再者,現在最新版的Opencv3.3.0已經加入了DNN深度學習模塊,常用的LeNet5,ResNet,VGG,GoogleNet,AlexNet模型都有,而且支持Caffe,Tensorflow等框架!裡面的ml模塊就不用說了,是機器學習庫!
計算機視覺剛好又需要用到機器學習以及神經網路方面的知識,如果你通過這一條主線來學習Opencv,基本是可以勝任醫學圖像處理的!
PS:python作為當下人工智慧的標配,學習下也是很有必要的!這在你學習計算機視覺的後期使用框架的時候也是很有幫助的!
只是個人淺見,如有不對的地方,望指正!謝謝!才研一,時間還算充分,都學了又如何
Matlab是建模驗證用的,速度比較慢。跑大量數據的時候還是要用OpenCV/C++的。Python介於兩者中間。
必須itk,並且是Python下的simple itk。不是醫學圖像科班出身,但是剛剛完成的實習是做醫學圖像分割。這麼說吧,2d的人體組織的特徵相對3d的特徵要少很多。尤其是使用深度學習做分割的時候,3d做出的分割dice能到0.94(大組織),2d很難達到。目測之後的趨勢是:itk做醫學圖像三維預處理(itk處理dicom或者nii速度非常快,filter們賊好用),tensorflow/pytorch/caffe2 做深度學習分割。小白髮言,有不對的地方請見諒。
醫學圖像的話,勸樓主用itk+vtk(vmtk),你的圖像格式基本是dicom格式,opencv搞醫學圖像受罪。如果你想使用opencv處理也行,可以將itk的數據格式轉化成opencv
不過以後你想做圖像,不想做的這麼窄,那就研究opencv
ps:itk,opencv數據轉換坑挺多
不要執著於用什麼工具,思想比較重要。
我建議都學,顯然都很有用。
OpenCV因為不能處理三維圖像,而醫學圖像又經常是三維的,所以在這方面比較弱一些。但它在普通的圖像處理上確實很厲害,而且效率非常高。
ITK經常和VTK混用,這兩個庫都是做顯示做渲染繞不開的,用起來有很多很多的坑,所幸用戶社區還算完善,基本上大部分問題最終都可以解決。
matlab就不廢話了,科研標配,強大無比。(我個人不太喜歡matlab,一般用Python代替)
此外現在大家很多人做segmentation都開始喜歡用深度學習來做了,Tensorflow應該也會是將來題主需要學習的知識內容。贊同前面回答,用matlab調用mex。我現在所有的代碼都是matlab加c/c++寫,matlab解決數據介面問題,c裡面直接處理指針,速度很快。然後寫論文時,在時間對比這塊,和別的演算法一對比,強調語言是matlab加c,演算法時間上還是很有優勢的。
matlab調c也不難,主要是在c文件里把mex函數一寫,將傳入的matlab類型數據轉化成對應類型的指針,最後記住幾個基本編譯命令就可以了。
當然用matlab。
第一, matlab 和opencv 不互相排斥
因為有mex介面的存在你可以把任意的cpp函數的功能加進matlab裡面,只要你寫一個簡單mex介面,簡而言之,就是把cpp的函數當成一個黑盒子,matlab調用它就可以,速度跟c一樣。
以前有寫大神自己把所有opencv 的函數的介面都寫出來了。但是opencv3 以後,官方的安裝選項中就有了matlab 的選項,opencv會自動把所有庫函數編譯好,matlab可以直接用了,很方便。
第二,matlab自己的視覺庫也很多
第三方庫多,比如 vlfeat pitor之類,而且我個人經驗就是大部分toolbox都會有個matlab版本的。另外,matlab自己的更新速度很快,比如slic superpixel 2014年發的paper(記不清了) 2016版的matlab就有官方的函數出來了,可以直接用。至於醫療方面的,你還是問一下自己的師兄什麼比較好。
樓主,我也是剛研一,也在做醫療影像的分割,可以交流下么?
千萬別用MATLAB,會找不到工作的!我只能這麼告訴你!
你的課題既然是醫學圖像,那就itk吧
理論上來講,matlab和opencv你都要會,不是你要只會哪個的問題
Itk沒用過就不發表評論了
我用的 python + tf 我也是研一的, 因為導師申請了個醫學圖像分割的項目, 想讓我轉分割。 我之前做目標檢測的. 先問下樓主 醫學圖像分割 的數據集有哪些? 謝謝了
樓主你好,我也是做這方面的?方便一起交流下嗎?
python 大法好~
做研究就告別CPP了
cv支持python
推薦閱讀:
※NUFFT的計算難點在哪裡?
※為什麼用圖像二維傅里葉變換的相位譜進行反變換,能夠大致得到原圖的形狀,而幅度譜則不行呢?
※如何系統的學習PS?
※灰度圖像中如何提取模糊邊緣,進行精確計數?