matlab水下图像增强直方图
时间: 2023-09-30 19:06:31 浏览: 116
水下图像增强可以通过直方图均衡化来实现。直方图均衡化是一种常见的图像增强技术,通过对图像像素灰度值的分布进行调整,使得图像的灰度范围更加均匀,从而提高图像的对比度和清晰度。
在Matlab中,可以使用imhist函数来计算图像的灰度直方图,使用histeq函数来进行直方图均衡化。以下是一个简单的示例代码:
```
% 读取水下图像
img = imread('underwater.jpg');
% 计算灰度直方图
[counts, bins] = imhist(img);
% 显示原始直方图
subplot(2,2,1);
imshow(img);
title('Original Image');
subplot(2,2,2);
bar(bins, counts);
xlim([0 255]);
title('Original Histogram');
% 进行直方图均衡化
img_eq = histeq(img);
% 计算均衡化后的直方图
[counts_eq, bins_eq] = imhist(img_eq);
% 显示均衡化后的直方图
subplot(2,2,3);
imshow(img_eq);
title('Equalized Image');
subplot(2,2,4);
bar(bins_eq, counts_eq);
xlim([0 255]);
title('Equalized Histogram');
```
运行上述代码后,会显示出原始图像和直方图,以及经过直方图均衡化后的图像和直方图。可以看到,经过直方图均衡化后的图像对比度明显增强,细节更加清晰。
阅读全文