MATLAB数字图像处理之像素运算详解
需积分: 10 139 浏览量
更新于2024-07-18
收藏 2.7MB DOCX 举报
MATLAB图像运算笔记
MATLAB图像运算是数字图像处理中的一种重要技术,主要包含点运算和代数运算。点运算是指对图像的每一个像素点进行运算,从而实现图像的灰度变换、对比度增强等功能。
一、图像的点运算
点运算也叫做对比度增强、对比度拉伸或者灰度变换。其原理是通过图像中每一个像素点的灰度值进行运算。点运算的公式为:
g(x,y) = f(f(x,y))
其中,f(x,y)是原图像,g(x,y)是处理后的图像,f表示点运算的关系函数。
1. 线性灰度变换
线性灰度变换是指通过将原图像的灰度值映射到新的灰度值范围内,实现图像的对比度增强和灰度变换。MATLAB中使用imadjust函数实现线性灰度变换。imadjust函数的格式为:
J = imadjust(I,[low_in;high_in],[low_out;high_out],gamma)
其中,I是原图像,J是处理后的图像,[low_in;high_in]是原图像中要变化的灰度范围,[low_out;high_out]是变换后的灰度范围,gamma是图像I成图像J时曲线的形状。
gamma的值影响着图像的对比度增强效果。如果gamma小于1,映射加权到较高的输出值,图像变亮;如果gamma大于1,映射加权到较低的输出值,图像变暗。
例如:
I = imread('peppers.png');
将图像数据分别赋值给R、G、B,分别将原图变成单色图像:
R(:,:,2) = 0;
R(:,:,3) = 0;
R1 = imadjust(R,[0.5 0.8],[0 1],0.5);
G = I;
G(:,:,1) = 0;
G(:,:,3) = 0;
G1 = imadjust(G,[0 0.3],[0 1],0.5);
B = I;
B(:,:,1) = 0;
B(:,:,2) = 0;
B1 = imadjust(B,[0 0.3],[0 1],0.5);
求变换后的RGB图像:
I1 = R1 + G1 + B1;
显示图像:
subplot(421),imshow(R);
subplot(422),imshow(R1);
subplot(423),imshow(G);
subplot(424),imshow(G1);
subplot(425),imshow(B);
subplot(426),imshow(B1);
subplot(427),imshow(I);
subplot(428),imshow(I1);
2. 分段线性灰度变换
分段线性灰度变换是指将图像的灰度值分成多个段,然后对每个段进行线性变换,以达到突出图像中感兴趣的目标或者灰度空间的目的。例如:
J = imadjust(I,[0 0.3; 0.5 0.8],[0 0.5; 0.5 1],0.5);
其中,I是原图像,J是处理后的图像,[0 0.3; 0.5 0.8]是原图像中要变化的灰度范围,[0 0.5; 0.5 1]是变换后的灰度范围,0.5是图像I成图像J时曲线的形状。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2017-11-30 上传
2018-01-30 上传
2024-10-11 上传
2024-02-24 上传
2020-01-26 上传
2024-05-30 上传
下一站,远方
- 粉丝: 0
- 资源: 1
最新资源
- N10SG模块opencpu固件.zip
- 回收站变变变.zip易语言项目例子源码下载
- ARLAS-wui-builder:ARLAS-Wui的制造商
- ys-park-2
- electronic-ftrouter:用于运行电子的模板存储库,其中有运行路径的routex
- KottuRoti:Ant214项目游戏文件
- 前端开发css+html灯笼动画插件源代码
- pyg_lib-0.2.0+pt20-cp38-cp38-macosx_10_15_x86_64whl.zip
- tele_sign:Node.js库通过http发送消息
- CMPE:CMPE 安卓
- check-api-playground
- 判决matlab代码-self_other_moral:自我和他人道德判断的神经/行为基础项目
- 094. 2019年中国洗碗机市场年度总结报告.rar
- cornflux:用于React应用程序的调度库,可促进数据封装
- AndroidVision:在您的手机上学习图像处理
- forten:Monorepo for Overmind模块