matlab 直方图均衡
时间: 2023-11-06 20:01:38 浏览: 58
直方图均衡化是一种图像增强技术,它通过重新分布图像中的像素灰度级,使得图像的对比度更加均衡。在MATLAB中,可以使用内置函数`histeq`来实现直方图均衡化。该函数接受一个输入图像和一个可选的参数n(默认为64,表示均衡化后输出的灰度级数),并返回均衡化后的图像。
下面是一个具体的计算例子:
```
% 读取图像
I = imread('input.jpg');
% 进行直方图均衡化
J = histeq(I);
% 显示原始图像和均衡化后的图像
subplot(1,2,1), imshow(I), title('原始图像');
subplot(1,2,2), imshow(J), title('均衡化后的图像');
```
这段代码首先使用`imread`函数读取输入图像,然后调用`histeq`函数对图像进行直方图均衡化。最后使用`imshow`函数分别显示原始图像和均衡化后的图像。
相关问题
matlab直方图均衡
在Matlab中,直方图均衡化是一种常用的灰度变换方法,可以帮助图像的直方图进行延展,从而增强图像的对比度。直方图均衡化的主要代码如下:
```matlab
im = double(imread('image.bmp')); % 读入图像
\[m, n\] = size(im); % 获取图像的大小
p = zeros(1, 256); % 统计每个像素值出现的个数
for i = 1:m
for j = 1:n
p(1, im(i, j) + 1) = p(1, im(i, j) + 1) + 1; % 统计像素值出现的个数
end
end
% 进行直方图均衡化
im2 = histeq(uint8(im)); % 使用histeq函数进行直方图均衡化
% 显示原始图像和直方图均衡化后的图像
figure
subplot(1, 2, 1)
imshow(uint8(im))
title('原始图像')
subplot(1, 2, 2)
imshow(im2)
title('直方图均衡化')
```
在这段代码中,首先使用`imread`函数读入图像,并将图像转换为`double`类型。然后,使用两个嵌套的循环遍历图像的每个像素,并统计每个像素值出现的个数。接下来,使用`histeq`函数对图像进行直方图均衡化,得到均衡化后的图像`im2`。最后,使用`subplot`函数将原始图像和直方图均衡化后的图像显示在同一个窗口中。
希望这个回答对您有帮助!
#### 引用[.reference_title]
- *1* *2* [MATLAB实现直方图均衡化](https://blog.csdn.net/weixin_43697788/article/details/107931374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [直方图均衡化(Matlab实现)](https://blog.csdn.net/baidu_39044178/article/details/81040534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
MATLAB直方图均衡化
好的,关于MATLAB直方图均衡化,你可以使用`histeq`函数来实现。该函数可以将图像的灰度级分布变得更加均匀,从而增强图像的对比度和细节。
具体使用方法如下:
```matlab
I = imread('image.jpg'); % 读取图像
J = histeq(I); % 对图像进行直方图均衡化
imshowpair(I, J, 'montage'); % 显示原图和处理后的图像
```
其中,`imread`函数用于读取图像,`histeq`函数用于进行直方图均衡化,`imshowpair`函数用于显示原图和处理后的图像。
相关推荐
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)