流域を使用してこの画像をセグメント化して、画像内の人物のみを取得する方法は?
これまでに次のことを行いました。
- 勾配を計算しました
- 流域変換を計算しました
私のコード:
clear;
I=imread('inpaint.jpg');
I=rgb2gray(I);
hy = fspecial('sobel');
hx = hy';
Iy = imfilter(double(I), hy, 'replicate');
Ix = imfilter(double(I), hx, 'replicate');
gradmag = sqrt(Ix.^2 + Iy.^2);
figure, imshow(gradmag,[]), title('Gradient magnitude (gradmag)')
L = watershed(gradmag);
% Lrgb = label2rgb(L);
figure, imshow(L), title('Watershed transform of gradient magnitude (Lrgb)')
流域の適用に成功しました
元の画像でオブジェクトの輪郭を描いて、セグメント化して表示できるかどうか知りたいですか?
多少正接しますが、大学または企業のMATLABの画像処理ライセンスを使用していますか?私はそれを調べました、そしてそれはかなり高価であるようです:-/
—
Spacey
はい、私の大学にはライセンスがあります...
—
vini
@Mohammad Octaveは、MATLABの画像処理ツールボックスのほぼすべての機能を備えており、多くの場合、コードには互換性があります。
@reve_etrangeああありがとうございます!! 私はそれを調査する必要があります-私の古い上司は常に、それが大きなマトリックスを保持できない、MATLABのような素敵なGUIではないなど、オクターブについて悪いことをいつも言っていたので、実際には調査しませんでした...
—
Spacey
@Mohammadまた、Scilabの画像処理ツールボックスは成長し、繁栄しています。それがまだあなたが探しているものを提供しているかどうかわかりません。
—
フォノン