matlab直方图增强水下图像
时间: 2023-09-02 18:08:54 浏览: 182
zhifangtu_水下图像增强_直方图_水下图像_
5星 · 资源好评率100%
以下是使用MATLAB进行直方图增强水下图像的步骤:
1. 读取水下图像
```matlab
I = imread('underwater_image.jpg');
```
2. 转换为灰度图像
```matlab
Igray = rgb2gray(I);
```
3. 计算灰度图像的直方图
```matlab
[counts,binLocations] = imhist(Igray);
```
4. 为直方图均衡化做准备
```matlab
totalPixels = numel(Igray);
pdf = counts / totalPixels;
cdf = cumsum(pdf);
```
5. 均衡直方图
```matlab
newValues = round(cdf * (numel(binLocations)-1));
Ieq = zeros(size(Igray));
for i = 1:numel(newValues)
Ieq(Igray==binLocations(i)) = newValues(i);
end
```
6. 显示原始图像和均衡化图像
```matlab
figure;
subplot(1,2,1); imshow(Igray); title('Original Image');
subplot(1,2,2); imshow(Ieq); title('Equalized Image');
```
7. 调整对比度
可以根据需要进一步调整对比度。
```matlab
Iadjusted = imadjust(Ieq, [0.1 0.9], []);
imshow(Iadjusted);
```
完成以上步骤后,就可以得到增强后的水下图像。
阅读全文