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 图像的线性变换

相关推荐
艾莉丝努力练剑3 小时前
【AI接入大模型SDK】ChatSDK示例验证
人工智能·学习·面试·大模型·sdk
葡萄成熟时 !8 小时前
JAVA 常用API学习笔记
java·笔记·学习
剩下了什么9 小时前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
指尖时光.9 小时前
Three.js 超全入门综合案例
开发语言·javascript·ecmascript
暴力求解9 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
吴声子夜歌9 小时前
Java面试题——基础(一)
java·开发语言
别动我齐刘海10 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
小庞在加油10 小时前
WinDbg实战:QT/跨平台项目死锁与无响应问题排查指南
开发语言·qt·windbg·工具
Vae_Mars10 小时前
C#中的delegate委托
开发语言·c#
一直走下去-明11 小时前
简单的http抓包解包完整代码
开发语言·python