matlab根据直方图选择相应区域对图像进行相应的图像增强代码
时间: 2023-09-19 09:10:52 浏览: 38
以下是MATLAB中根据直方图选择相应区域对图像进行相应的图像增强的代码:
```matlab
% 读取图像
img = imread('image.jpg');
% 计算图像直方图
[counts, binLocations] = imhist(img);
% 找到直方图中的峰值
[pks, locs] = findpeaks(counts);
% 选择峰值最高的前两个峰值
[~, idx] = sort(pks, 'descend');
peak1 = locs(idx(1));
peak2 = locs(idx(2));
% 根据峰值位置选择对应的图像区域
if peak1 < peak2
enhance_region = img >= peak1 & img <= peak2;
else
enhance_region = img >= peak2 & img <= peak1;
end
% 对选择的区域进行图像增强
enhanced_img = img;
enhanced_img(enhance_region) = imadjust(img(enhance_region), stretchlim(img(enhance_region)));
% 显示原图和增强后的图像
figure;
subplot(1, 2, 1), imshow(img), title('Original Image');
subplot(1, 2, 2), imshow(enhanced_img), title('Enhanced Image');
```
这段代码会根据图像直方图中的峰值位置选择对应的图像区域,并对这些区域进行图像增强,最后显示原图和增强后的图像。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)