0
点赞
收藏
分享

微信扫一扫

图像增强(空间域)——灰度变换

金刚豆 2022-03-11 阅读 37

灰度变换

直接灰度变换

说明

逐点运算,按照一定的变换关系,逐点该点原灰度图像中每一个像素灰度值,但不改变空间位置关系。

原理

灰度图像的线性拉伸。若灰度级局限在很小的范围内(灰度级0~255),显示出来的是模糊不清、没有层次感的图像;通过线性变换对每个像素点做线性变换,有效改变你图像视觉效果,即扩大原始的灰度等级范围,显得有层次。

常见变换

因为是点运算,图像是二维,由二维数组表示即f(x,y)表示灰度值。
变换公式::g(x,y)=T[f(x,y)] 线性变换或者非线性变换。
线性变换:g(x,y)=T[f(x,y)]=af(x,y)+b;:原灰度值乘以a加b

非线性变换: 对数变换g=clog(1+f) 压缩数据,使灰度级密集
        指数变换: g=crn拉大不同灰度级距离、提高图像对比度
【两者可从数学角度理解:对数随横坐标变大曲线变得平缓,而指数陡峭】

反转变换: g(x,y)=255-f(x,y) 灰度级反转
分段线性变换: 突出感兴趣目标所在的灰度区间,抑制不感兴趣的灰度区间。

%分段线性变换
R=imread('辣椒.png'); %输入图像
J=rgb2gray(R);%灰度变换先要将彩色变成灰色
[M,N]=size(J);%size()函数获得图像的宽度和高度;返回矩阵J的尺寸信息,存储在m[],n[]中
x=1;y=1;
for x=1:M;%分段线性变换
    for y=1:N;
        if(J(x,y)<35);%矩阵中所有的值,灰度范围小于35,扩大10H(x,y)=J(x,y)*10;
        elseif(J(x,y)>35&&J(x,y)<=75);
            H(x,y)=(10/7)*[J(x,y)-5]+50;
        else(J(x,y)>75);
            H(x,y)=(105/180)*[J(x,y)-75]+150;
        end
    end
end
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
figure(1),
subplot(121),imshow(J);
subplot(122),imshow(H);

在这里插入图片描述

直方图

说明

性质

直方图均衡化

说明

图像的代数运算

说明

以上的代码实现:https://pan.baidu.com/s/1na4ZrUo9v_OKwN-JePCKow?pwd=hv36
提取码:hv36

举报

相关推荐

0 条评论