Я пытаюсь реализовать линейное срезание уровня серого для преобразования заданного изображения в градациях серого на основе этого рисунка.
![](https://i.imgur.com/eyn1JT4.png)
Я хотел бы знать, существует ли более эффективный / подходящий способ выполнения линейного среза уровня серого на этом изображении.
![](https://i.imgur.com/yPuutRm.png)
img = imread('https://i.imgur.com/yPuutRm.png');
img2 = img;
x = 0:255;
y1 = x;
y1(89:123) = 200;
img2(find(img>=89 & img<=123)) = 200;
img2(find(img<89)) = 0;
img2(find(img>123)) = 200;
figure;
subplot(2,2,2); plot(x,y1);
axis([0 255 0 255]);
Цель состоит в том, чтобы выделить только определенный диапазон уровней серого, показанный на рисунке.Это моя попытка, которая, хотя я считаю успешной, мне любопытно, если в Matlab существует альтернативный подход к линейному срезанию уровня серого.
![](https://i.imgur.com/zPutp2f.png)