画像領域の選択 (matlib)

画像領域の選択

1. ポリゴン領域選択関数 roipoly():

BW = roipoly(I,c,r)
I: 入力イメージ (次元は 2 を超えることはできません);
c, r: 多角形の各頂点の行番号と列番号、およびベクトルのサイズは同じです。

BW = roipoly(x,y,I,xi,yi)
I: 入力イメージ (次元は 2 を超えることはできません);
x,y: 空間座標系を確立します;
xi, yi: x、y 座標で定義されたポリゴン頂点システム ROI 領域の選択

2. グレースケール ROI 領域選択関数 roicolor():

BW = roicolor(A,low,high):
low、high: ピクセル カラー マップ範囲、イメージに 2 を返します。範囲内では 1、範囲外では 0。

BW = roicolor(A,v):
v: ROI 領域のピクセルはベクトル v と一致し、バイナリ イメージを返します。ベクトル v と一致する場合は 1、一致しない場合は 0 を返します。

3. 領域充填関数 roifill():

J = roifill(I,c,r):
c, r: c と r は塗りつぶされる多重変形領域を決定し、c ベクトルと r ベクトルは同じサイズになります。

J = roifill(I,BW):
BW: マスク イメージとして、入力イメージ I 内のマスク イメージ ピクセルのゼロ以外の位置を塗りつぶします。

BW = roipoly(x,y,I,xi,yi):
x,y: 空間座標系を確立します;
xi, yi: x,y 座標系で頂点を記述し、塗りつぶす ROI 領域を決定します。

4. 地域フィルター関数 roifilt2():

J = roifilt2(h,I,BW):
h: フィルタリング用の 2 次元線形フィルタ;
BW: フィルタリング用のマスク画像として使用される、I と同じサイズのバイナリ画像

5. コードデモ:
>> A=imread('E:\persional\matlab\images\ba.tif');
>> BW1 = roicolor(A,55,100);%基于灰度图像ROI区域选取
>> c = [87 171 201 259 259 209 133];
>> r = [133 133 205 259 259 259 133];%定义ROI顶点位置
>> BW = roipoly(A,c,r);%根据c,r选定ROI区域
>> I1 = roifill(A,BW);%根据生成BW掩膜图像进行区域填充
>> h = fspecial('motion',20,45);%创建motion滤波器并说明参数
>> I2 = roifilt2(h,A,BW);%进行区域滤波
>> figure,
>> subplot(221),imshow(BW1);%显示结果
>> subplot(222),imshow(BW);%显示ROI区域
>> subplot(223),imshow(I1);%显示填充效果
>> subplot(224),imshow(I2);%显示区域滤波效果

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_56260304/article/details/127323355