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
相关推荐
视觉语言导航3 分钟前
具身导航、一环通达!RING:机器人室内导航通用策略
人工智能·深度学习·机器人·具身智能
东临碣石825 分钟前
【AI论文】10亿参数大语言模型能超越405亿参数大语言模型吗?重新思考测试时计算最优缩放
人工智能·语言模型·自然语言处理
m0nesy_86807 分钟前
1314--力扣情人节特别篇
java·算法·leetcode
Liu_Meihao8 分钟前
【LeetCode】1. 两数之和
算法·leetcode
MiyamiKK579 分钟前
leetcode_二叉树 108. 将有序数组转换为二叉搜索树
算法·leetcode·职场和发展
apple-mapping10 分钟前
pytorch环境已安装库汇总
人工智能·pytorch·python
Wang's Blog40 分钟前
数据结构与算法之数组: LeetCode 541. 反转字符串 II (Ts版)
算法·leetcode
望云山1901 小时前
第二章:12.4 学习曲线
人工智能·深度学习·机器学习
tilblackout1 小时前
机器学习详解(14):模型的保存和部署实例
人工智能·机器学习
云天徽上1 小时前
【数据可视化】全国大学数据可视化分析
人工智能·机器学习·数据可视化