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
相关推荐
千里码aicood3 小时前
Flask-基于图神经网络的谣言检测研究
人工智能·神经网络·flask
埃科光电4 小时前
16K万兆网口彩色线阵相机:四倍带宽 高速真彩检测新方案
网络·图像处理·数码相机·计算机视觉·制造·相机
ocean21034 小时前
2025-2026年AI算法与模型研发面试高频知识点洞察
人工智能·算法·面试
Nil2084 小时前
leetcode 78子集
数据结构·算法·leetcode
妙码生花4 小时前
使用git更新ai-go-admin框架
前端·人工智能·git·golang·typescript·php
Claire_884 小时前
企业网盘文件防泄露方案分析:权限管控、加密存储与AI检索能力对比
人工智能
室内定位小白4 小时前
2026 年的大模型战争:GPT、Claude、Gemini、Grok 与中国模型,究竟谁更强?
人工智能·gpt
azhou的代码园4 小时前
基于RFM模型的中小型企业客户管理系统
java·人工智能·spring boot·毕业设计
米小虾4 小时前
AI 没有证明费马大定理:1300 万行 Lean 代码背后,是"可验证 AI"的新范式
人工智能
9i编程4 小时前
15.对SKILL进行一次全新尝试,改为框架+细节方式的实践及验证:三次联调(4)——第一次测试与事故
人工智能·openai·ai编程