利用MATLAB,将灰度图中像素值低于50的设为黑色,高于50的设置为白色,编写该算法代码
时间: 2023-12-01 14:03:12 浏览: 26
您可以使用以下代码实现将灰度图中像素值低于50的设为黑色,高于50的设置为白色的操作:
```matlab
% 读取灰度图
gray_img = imread('gray_image.jpg');
% 将像素值低于50的设置为0(黑色)
gray_img(gray_img < 50) = 0;
% 将像素值高于等于50的设置为255(白色)
gray_img(gray_img >= 50) = 255;
% 显示结果
imshow(gray_img);
```
首先,读取灰度图并将其存储在 `gray_img` 变量中。然后,使用逻辑索引将所有像素值低于50的像素设置为0(黑色),将所有像素值高于等于50的像素设置为255(白色)。最后,使用 `imshow()` 函数显示处理后的图像。
需要注意的是,如果灰度图的数据类型为 `uint8`,则需要将0和255转换为 `uint8` 类型,否则可能出现像素值溢出的情况。完整的代码如下:
```matlab
% 读取灰度图
gray_img = imread('gray_image.jpg');
% 将像素值低于50的设置为0(黑色)
gray_img(gray_img < 50) = 0;
% 将像素值高于等于50的设置为255(白色)
if isa(gray_img, 'uint8')
gray_img(gray_img >= 50) = uint8(255);
else
gray_img(gray_img >= 50) = 255;
end
% 显示结果
imshow(gray_img);
```