欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > Matlab图像处理基础入门 - 亮度/对比度调整实战

Matlab图像处理基础入门 - 亮度/对比度调整实战

2025/6/17 6:34:56 来源:https://blog.csdn.net/weixin_31268759/article/details/145517442  浏览:    关键词:Matlab图像处理基础入门 - 亮度/对比度调整实战

1. 亮度调整原理

核心概念 
  • 亮度定义:图像整体明暗程度的量化指标

% 读取图像
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('亮度增加图片')

 方法2:使用imadjust函数

% 线性调整亮度(参数范围[0.5 1]表示提升亮度)
bright_img = imadjust(img, [0 1], [0.5 1]);

2. 对比度调整原理

核心概念
  • 对比度定义:图像中明暗区域最亮的白与最暗的黑之间的差异程度

Matlab实现方法

方法1:线性变换公式

alpha = 1.5; % 对比度增强系数
beta = -30;  % 亮度补偿
contrast_img = uint8(alpha*double(img) + beta);
contrast_img(contrast_img > 255) = 255;
contrast_img(contrast_img < 0) = 0;

 

方法2:使用imadjust智能调整

% 自动对比度调整(拉伸到全动态范围)
contrast_img = imadjust(img, stretchlim(img), []);

3. 交互式调整工具开发

GUI实现方案
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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词