matlab实现灰度变换增强
时间: 2023-07-13 09:37:04 浏览: 126
灰度变换增强可以通过调整图像灰度级的映射函数来实现。一些常见的灰度变换函数包括对数变换、幂次变换、反转变换等。下面是一个使用MATLAB实现灰度变换增强的例子:
```matlab
% 读取图像
img = imread('lena.png');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 显示原图像和灰度图像
subplot(1,2,1), imshow(img)
title('Original Image')
subplot(1,2,2), imshow(gray_img)
title('Gray Image')
% 对数变换
log_img = uint8(log(1 + double(gray_img)) * 255 / log(256));
% 幂次变换
gamma = 1.2;
power_img = uint8((double(gray_img)/255).^gamma * 255);
% 反转变换
invert_img = 255 - gray_img;
% 显示变换后的图像
subplot(2,2,1), imshow(log_img)
title('Log Transform')
subplot(2,2,2), imshow(power_img)
title('Power-Law Transform')
subplot(2,2,3), imshow(invert_img)
title('Invert Transform')
```
在上面的代码中,我们首先读取了一张彩色图像,并将其转换为灰度图像。然后,我们实现了三种不同的灰度变换增强方法:对数变换、幂次变换和反转变换。最后,我们将变换后的图像显示出来。运行这段代码,就可以看到这三种变换对图像的影响了。
阅读全文