matlab 彩色图像暗光增强
时间: 2023-11-12 18:08:59 浏览: 142
在MATLAB中,可以使用histeq函数来实现彩色图像暗光增强。具体步骤如下:
1. 读取彩色图像;
2. 将彩色图像转为灰度图像;
3. 对灰度图像进行直方图均衡化,得到增强后的灰度图像;
4. 将增强后的灰度图像与原始彩色图像进行混合,得到增强后的彩色图像。
示例代码如下:
```
% 读取彩色图像
img = imread('dark.jpg');
% 将彩色图像转为灰度图像
gray_img = rgb2gray(img);
% 对灰度图像进行直方图均衡化,得到增强后的灰度图像
enhanced_gray_img = histeq(gray_img);
% 将增强后的灰度图像与原始彩色图像进行混合,得到增强后的彩色图像
enhanced_color_img = repmat(enhanced_gray_img, [1 1 3]) .* double(img);
% 显示增强结果
figure;
subplot(1,2,1); imshow(img); title('原始彩色图像');
subplot(1,2,2); imshow(uint8(enhanced_color_img)); title('增强后的彩色图像');
```
需要注意的是,该方法的效果可能会受到图像质量和环境光线等因素的影响,在实际应用中需要根据具体情况进行参数调整和算法优化。
阅读全文