MATLAB Answers

How to binarize a grayscale image with multiple thresholds?

31 ビュー (過去 30 日間)
Hadi Ghahremannezhad
Hadi Ghahremannezhad 2020 年 9 月 11 日
編集済み: Akira Agata 2020 年 9 月 12 日
I am trying to convert a grayscale image into a binary image with two thresholds:
  • img = a grayscale image
  • b = the output binary image
  • if (img > t1) or (img < t2) then b = 1
  • otherwise b = 0
t1 = 200;
t2 = 100;
src = imread('an rgb image');
img = reg2gray(src);
b1 = imbinarize(img, t1);
b2 = imbinarize(img, -t2);
b = imadd(b1,b2);
but this code doesn't work. Is there a function to set multiple thresholds at the same time?

  0 件のコメント

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

採用された回答

Akira Agata
Akira Agata 2020 年 9 月 12 日
編集済み: Akira Agata 2020 年 9 月 12 日
Assuming a grayscale image img is a 2D double array, the following code should work:
b = img > t1 | img < t2;

  0 件のコメント

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by