MATLAB中图像的线性变换

MATLAB 图像线性变换是‌通过表达式y=kx+b调整每个像素的亮度与对比度‌,使灰暗/平淡的图片变清晰、变亮或变暗,便于观察或识别。

1、k=1且b=0,输出图像保持不变。

2、k>1,输出图像的‌对比度增大。

3、0<k<1,输出图像的‌对比度减小。

4、k=1且b≠0,输出图像所有像素的灰度值上移或下移,图像更暗或更亮。

5、k=-1且b=255,输出图像反转变化。

现要从当前工作目录中读取某原始彩色图像文件,进行上述5种线性变换。

可在命令窗口输入以下程序:

Matlab 复制代码
I=imread('paowuxianqumian.jpg');
k1=2;b1=0; 
k2=0.5;b2=30;
k3=1;b3=50;
k4=-1;b4=255;
I1=uint8(k1*double(I)+b1);
I1(I1>255)=255;I1(I1<0)=0;
I2= uint8(k2*double(I)+b2);
I2(I2>255)=255;I2(I2<0)=0;
I3=uint8(k3*double(I)+b3);
I3(I3>255)=255;img3(I3<0)=0;
I4=uint8(k4*double(I)+b4);
figure;
subplot(2,3,1); imshow(I); title('原始图像');
subplot(2,3,2); imshow(I1); title('k=2,b=0,对比度增大');
subplot(2,3,3); imshow(I2); title('k=0.5,b=30,对比度减小,更亮');
subplot(2,3,4); imshow(I3); title('k=1,b=50,更亮');
subplot(2,3,5); imshow(I4); title('k=-1,b=255,反转变化');

运行后得到如图1所示图形。

图1 图像的线性变换

相关推荐
朝朝辞暮i4 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++
波力海苔夹心脆6754 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net
m0_380743874 小时前
Qt中导航栏实现的详细指南
开发语言·c++
mhmh1234 小时前
Python 对象模型与数据模型:魔术方法、描述符与元类深度解析
开发语言·python
估值探索者5 小时前
【Python量化策略实战 #02】多因子合成mom和vol两因子打分合成
开发语言·c++·python·数据挖掘·c#
m0_380743875 小时前
PHP7.3和7.2字符串功能有什么不同
开发语言·php
每天题库6 小时前
危险货物道路运输从业资格证题库刷题重点与错题梳理
学习·安全·考试·题库·考证
m0_380743876 小时前
PHP 8.4的新语法怎么用才规范
开发语言·php
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(86):Skill-Pro——用 Non-Parametric PPO 将交互经验演化为可复用技能
论文阅读·人工智能·学习·开源·github
阿狗童鞋6 小时前
Java并发编程实战指南
java·开发语言