matlab实现遥感图像均衡化
时间: 2023-07-13 14:05:29 浏览: 92
遥感图像均衡化是一种常见的图像处理方法,可以增强图像的对比度和清晰度。以下是MATLAB实现遥感图像均衡化的步骤:
1. 读入遥感图像
```matlab
img = imread('image.tif');
```
2. 将图像转换为灰度图像
```matlab
gray_img = rgb2gray(img);
```
3. 计算图像的直方图
```matlab
[counts, bins] = imhist(gray_img);
```
4. 计算累积分布函数(CDF)
```matlab
cdf = cumsum(counts) / numel(gray_img);
```
5. 计算均衡化后的像素值
```matlab
eq_img = uint8(255 * cdf(gray_img + 1));
```
6. 显示原图和均衡化后的图像
```matlab
imshowpair(gray_img, eq_img, 'montage');
```
完整的MATLAB代码如下:
```matlab
% 读入遥感图像
img = imread('image.tif');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 计算图像的直方图
[counts, bins] = imhist(gray_img);
% 计算累积分布函数(CDF)
cdf = cumsum(counts) / numel(gray_img);
% 计算均衡化后的像素值
eq_img = uint8(255 * cdf(gray_img + 1));
% 显示原图和均衡化后的图像
imshowpair(gray_img, eq_img, 'montage');
```
运行后,可以看到原图和均衡化后的图像对比显示。
阅读全文