平均強度の10%の静的しきい値を使用してMATLABで画像を2値化する必要があります。を使用して平均強度を見つけます。これは、画像の1つでmean2(Image)
平均を返します。15.10
したがって、私の平均しきい値は1.51
です。im2bw(image,level)
0から1の間のしきい値を取ります。この場合、MATLABで画像を2値化するにはどうすればよいですか?
6764 次
4 に答える
3
1)最初に、を使用して元の画像をダブルフォーマットに変換できますim2double()
。その場合、すべてのピクセル値は0から1の間になります。次に、を使用できますim2bw(im,level)
。
2)画像をdoubleに変換したくない場合は、この方法で変換できます。しきい値が平均値の10%であるとしましょう、たとえばthreshold = 1.51
。あなたが持っている画像がであるとしましょうim
。次にim(im<threshold) = 0; im(im>=threshold)=1
。これらの2つの操作の後、im
はバイナリイメージになります。
于 2013-03-26T20:07:27.603 に答える
2
単純な論理ステートメントで画像を2値化できます。完全を期すために、しきい値の決定も追加しました。
threshold = mean(Image(:));
binaryMask = Image > 0.1 * threshold;
于 2013-03-26T20:04:17.860 に答える
2
使用する場合は、画像の平均強度と最大強度の結果を正規化する必要がありますim2bw
(上記の他のソリューションはもちろん正しく機能します)。
ImageN=Image./max(Image(:))
t = mean2(ImageN) * 0.1 % Find your threshold value
im2bw(Image,t)
于 2013-03-26T20:13:25.553 に答える
1
画像がマトリックスimg
であるとすると、次のことができます。
t = mean2(img) * 0.1 % Find your threshold value
img(img < t) = 0 % Set everything below the treshold value to 0
img(img ̃= 0) = 1 % Set the rest to 1
于 2013-03-26T20:09:30.167 に答える