2

これに似た画像があります:この http://bjr.birjournals.org/content/84/Special_Issue_3/S338/F9.large.jpg

大動脈 (矢印が指している場所) のみをセグメント化し、残りの解剖学を取り除きたいと思います。私はmatlabが初めてで、開始方法がわかりません。

これまでのところ、私はこれを持っています:

clear all;
img = imread('~/Desktop/aorta.jpg');
img1 = rgb2gray(img);
imgh = histeq(img1);
bw = im2bw(imgh,.9);
remove = bwareaopen(bw,5000);
l = bwlabel(remove);
s = regionprops(l, 'perimeter');

私の考えでは、周囲の値を使用して丸みと比較し、 ismember を使用して残りを除外することでしたが、それを実装する方法がわからず、方法を説明する良い例が見つかりませんでした。

誰かがそれを行う方法を説明できますか? また、この戦略はこれを行うための最良の方法ですか? ありがとう!

4

2 に答える 2

2

医用画像アプリケーションでは、通常、非常に正確なセグメンテーションが必要であり、実行時間はそれほど重要ではありません。これがあなたのケースである場合、「ヘビ」とも呼ばれる アクティブな輪郭を使用することをお勧めします。

このセグメンテーション手法の背後にある考え方は、強いエッジ (高い勾配) と短い (または滑らかな) 曲線を満たす最適なセグメンテーションを見つけることです。ヘビの文脈では、これらは内力と外力であり、問​​題は (Mumford-Shah 汎関数の) 最適化問題として提起されます。これは領域成長セグメンテーション手法であり、CT 画像から始めるのに適しています。Matlab の filexchange からの次のコードは、優れた論文Active Contours without Edgesに基づく優れたデモです。

于 2013-08-08T05:52:59.350 に答える