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

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

方法2:使用imadjust函数

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

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;

方法2:使用imadjust智能调整

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

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
相关推荐
中國龍在廣州40 分钟前
AI首次自主发现人工生命
人工智能·科技·机器学习·机器人
FF-Studio42 分钟前
万物皆数:构建数字信号处理的数学基石
算法·数学建模·fpga开发·自动化·音视频·信号处理·dsp开发
I-NullMoneyException1 小时前
智能语音交互技术深度解析:从原理到产业实践
人工智能
创小匠1 小时前
创客匠人:AI重构知识IP定位与变现效率新范式
人工智能·tcp/ip·重构
love530love1 小时前
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明
linux·运维·前端·人工智能·windows·后端·nlp
SunsPlanter2 小时前
机器学习--分类
人工智能·机器学习·分类
叶子爱分享2 小时前
从事算法工作对算法刷题量的需求
算法
勇闯IT2 小时前
有多少小于当前数字的数字
java·数据结构·算法
liuqun03193 小时前
开心灿烂go开发面试题
算法·leetcode·golang
MiaoChuPPT3 小时前
告别手动做PPT!4款AI工具实现自动化生成
人工智能·自动化·powerpoint