Matlab 图像分析基础

Matlab 图像分析之图像的基本运算

常见的图像基本运算有点运算,逻辑运算,代数运算以及几何运算。通过对图像进行运算可以更好的体现图像的特性,以便后续的图像分析处理。

点运算

点运算是指对一副图像中每个像素点的灰度值按一定的映射关系进行计算的方法。
点运算表达式:
g ( x , y ) = T [ f ( x , y ) ] g(x,y)=T[f(x,y)] g(x,y)=T[f(x,y)]
其中T是对图像中的点值的数学运算。即像素的逐点运算,是灰度到灰度的映射过程。被称为灰度变换函数

点运算的分类:

点运算按灰度变换函数T的形式可以分为:线性灰度变换分段灰度变换非线性灰度变换。

1.线性灰度变换的Matlab实现:

线性灰度变换的灰度变换函数形式可表示为线性方程:
s = a r + b s=ar+b s=ar+b
灰度压缩: 0 < a < 1 , b > 0 0<a<1,b>0 0<a<1,b>0
灰度扩展: a > 1 , b = 0 a>1,b=0 a>1,b=0
灰度压缩: 0 < a < 1 , b = 0 0<a<1,b=0 0<a<1,b=0
图像反转: a = − 1 , b = 255 a=-1,b=255 a=1,b=255
灰度变换函数
Matlab实现:

clc,clear,close all
%点运算代码
%1.灰度映射
I=imread("Image1.jpg");
I=rgb2gray(I);
figure('Name','原图');
imshow(I);
imwrite(I,'原图.jpg');
%运算函数为s=ar+b%
%灰度压缩 0<a<1,b>0%
I1=0.5.*I+1;
figure('Name','灰度压缩');
imshow(I1);
imwrite(I1,'灰度压缩.jpg');
%灰度扩展 a>1,b=0%
I2=2.*I+0;
figure('Name','灰度扩展');
imshow(I2);
imwrite(I2,'灰度扩展.jpg');
%反转 a=-1,b=255%
I3=255-1.*I;
figure('Name','反转');
imshow(I3);
imwrite(I3,'反转.jpg');


运行结果:
原图:原图
灰度压缩:
灰度压缩
灰度扩展:
灰度扩展
灰度反转:
灰度反转

2.分段灰度变换的Matlab实现:

在一些情况下,我们需要对图像中感兴趣的区域进行提取,就可以使用分段灰度变换。将感兴趣的区域进行灰度扩展,对不感兴趣的区域进行灰度抑制。
分段灰度变换的灰度变换函数形式可表示为分段函数形式:
在这里插入图片描述

y(1:40) = 255;
y(41:150) = 0;
y(151:256) = 255;
I4=uint8(y(I));
figure('Name','分段');
imshow(I4)

分段灰度变换

3.非线性灰度变换的Matlab实现:

非线性灰度变换的输出灰度级与输入灰度级呈现非线性关系,常见的非线性灰度变换有对数变换幂次变换
对数变换:
s = c l o g ( 1 + r ) s=c log(1+r) s=clog(1+r)
幂次变换:
s = c r γ s=c r^{\gamma} s=crγ
非线性变换

I5=mat2gray(log(1+double(I)));
figure('Name','对数');
imshow(I5)
I6=mat2gray(double(I).^2);
figure('Name','指数');
imshow(I6)

对数变换
指数变换

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值