1. 亮度调整原理
核心概念
- 亮度定义:图像整体明暗程度的量化指标
Matlab
% 读取图像
img = imread('cameraman.tif');
% 设置亮度增量
beta = 50;
% 执行亮度调整(限制在0-255范围)
bright_img = uint8(double(img) + beta);
bright_img(bright_img > 255) = 255;
bright_img(bright_img < 0) = 0;
figure
imshow(img)
title('原始图片')
figure
imshow(bright_img,[])
title('亮度增加图片')
![](https://i-blog.csdnimg.cn/direct/3b1c447d539d42bb9d8372c698466fbd.png)
方法2:使用imadjust
函数
Matlab
% 线性调整亮度(参数范围[0.5 1]表示提升亮度)
bright_img = imadjust(img, [0 1], [0.5 1]);
![](https://i-blog.csdnimg.cn/direct/b774d8cde0824fb29da6f62482e9bbd0.png)
2. 对比度调整原理
核心概念
- 对比度定义:图像中明暗区域最亮的白与最暗的黑之间的差异程度
Matlab实现方法
方法1:线性变换公式
Matlab
alpha = 1.5; % 对比度增强系数
beta = -30; % 亮度补偿
contrast_img = uint8(alpha*double(img) + beta);
contrast_img(contrast_img > 255) = 255;
contrast_img(contrast_img < 0) = 0;
![](https://i-blog.csdnimg.cn/direct/ae856e59f2694037a338507f1312ea52.png)
方法2:使用imadjust
智能调整
Matlab
% 自动对比度调整(拉伸到全动态范围)
contrast_img = imadjust(img, stretchlim(img), []);
![](https://i-blog.csdnimg.cn/direct/d360b3d45104410aab60be69c137cf8b.png)
3. 交互式调整工具开发
GUI实现方案
Matlab
function interactive_adjustment()
fig = figure('Name','亮度/对比度实时调节器');
img = imread('peppers.png');
% 创建滑动条
uicontrol('Style','slider','Position',[20 20 200 20],...
'Min',-100,'Max',100,'Value',0,'Tag','beta_slider');
uicontrol('Style','slider','Position',[20 50 200 20],...
'Min',0.5,'Max',2,'Value',1,'Tag','alpha_slider');
% 实时更新函数
addlistener(findobj('Tag','beta_slider'),'ContinuousValueChange',@update);
addlistener(findobj('Tag','alpha_slider'),'ContinuousValueChange',@update);
function update(~,~)
beta = get(findobj('Tag','beta_slider'),'Value');
alpha = get(findobj('Tag','alpha_slider'),'Value');
adjusted_img = uint8(alpha*double(img) + beta);
imshow(adjusted_img);
title(['α=',num2str(alpha),' β=',num2str(beta)]);
end
end
![](https://i-blog.csdnimg.cn/direct/82956a672db445459da9b02236cb9b18.png)