图像的点运算——Matlab实现

本文介绍了如何使用Matlab进行图像的点运算,包括线性和非线性变换。线性点运算通过调整斜率和截距改变图像对比度和亮度;非线性点运算则涉及对数和幂次变换,用于拓宽或压缩图像的灰度范围。通过实例展示了不同参数设置下的图像效果。

图像的点运算——Matlab实现

一、线性点运算

定义: 线性点运算的灰度变换函数形式可以采用线性方程描述 即==> s = ar + b 的形式

分析:方程中r代表像素 点 灰度值的输入,而s代表像素 点 的输出。 a代表斜率,用于调节对比度,而b代表截距,这两个参数就能够改变从输入到输出的映射关系 。 由于成像设备以及图像记录设备的动态范围太窄等因素,会导致图像曝光不足或者曝光过度,这时可以通过点运算将灰度图像的线性范围进行拓展

  1. 若a=1,且b=0,则只是简单的输出图像,无其他操作。但当a=0且b≠0时,操作结果是仅使得所有像素的灰度值上移或下移,即使得整个图像变得更亮或者更暗。
  2. 若a>1,则输出图像的对比度增大(灰度值范围增大)。
  3. 若0<a<1,则输出图像的对比度降低(灰度值范围减小)。
  4. 若a<0,即a为负值,则图像反色,暗区域将变亮,亮区域将变暗,即点运算完成了图像求补。
  5. b 是一个平移项,对图像的整个灰度值进行平移,用于控制图像亮度

Matlab代码实现

%% 实验点运算,实现图像对比度的改变
clc;clear;close all;    % 初始化
I=imread('eight.tif');  % 读入一幅图像
I=im2double(I); % 转换数据类型为double
subplot(231);imshow(I);title('原图');
%% 增加对比度并显示
a=2;b=-50;  % 增加对比度
O=a.*I+b/255;
subplot(232);imshow(O);title('a=2;b=-50,增加对比度');

%% 降低对比度并显示
a=0.5
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值