フィルターのクリア

Segmenting an image according a threshold

1 回表示 (過去 30 日間)
med-sweng
med-sweng 2013 年 10 月 30 日
編集済み: Ashish Uthama 2013 年 10 月 31 日
Say that I have a grayscale image, which values range from `[0,255]`. Say that I want the pixels which values are larger than or equal to `66` for instance to be `white`, and the rest pixels to be `black`. How can I do that in `MATLAB`?
Thanks.

回答 (2 件)

Image Analyst
Image Analyst 2013 年 10 月 30 日
編集済み: Image Analyst 2013 年 10 月 30 日
The easiest way by far, is to simply threshold:
binaryImage = grayImage >= 66;
Ashish's method doesn't create black pixels, and Kevin's is inefficient. My fast and efficient method will create a binary image which is used in virtually all processing afterwards, such as labeling, morphology, regionprops, hole filling, etc.

Kevin Claytor
Kevin Claytor 2013 年 10 月 30 日
thresh = 66;
I(I < thresh) = 0;
I(I > thresh) = 255;
  1 件のコメント
Ashish Uthama
Ashish Uthama 2013 年 10 月 30 日
編集済み: Ashish Uthama 2013 年 10 月 31 日
[Edit, I meant to correct Kevin's code, pointing out the need for >=]
I(I >= thresh) = 255;

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by