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

相关推荐
Godspeed Zhao36 分钟前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
沐晓时光1 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
ahccqw4 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
David猪大卫7 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger7 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
fengci.9 小时前
CTF2MISC中等部分
开发语言·前端·学习
xys_67810 小时前
JavaEE通关手册:初识Java
java·开发语言
硅谷秋水10 小时前
PhysicalWords:一种用于构建机器人操作中潜推理过程的词汇体系
人工智能·机器学习·计算机视觉·语言模型·机器人
YueTann10 小时前
mgtv5th-baseline学习
学习
ShineWinsu11 小时前
对于Qt:QTableWidget常见属性以及QTableWidgetItem类的解析
开发语言·c++·qt·gui·客户端·表格·qtablewidget