图像处理原彩图
为了改善图像的质量以及增强感兴趣部分。
如光线较暗的图像,需要增强图像的亮度;通过监测高速公路上的白线实现汽车自动驾驶时需要检测边线等。有针对单个像素点的点运算算法,也有针对像素局部领域的模板运算。
灰度级变换(自动对比度调整)
灰度级变换借助函数变换将输入的像素灰度值映射成一个新的输出值,通过改变像素的亮度值来增强图像
g(x,y)=T[f(x,y)]
其中, f(x,y)是原图像,g(x,y)是处理后的图像,T是变换函数
线性灰度级变换
1)基本线性变换
g(x,y)=f(x,y)⋅tanα
I=im2double(rgb2gray(imread('099.jpg')));
figure;
imshow(I),title('原始图像');
figure,imshow(0.5*I),title('tan为0.5');
figure,imshow(2*I),title('tan为2');
2)窗口线性变换
一定范围内灰度值进行线性变换,范围外的灰度可以保持不变或者固定值
3)分段线性变换
灰度区间分成两段或多段分别进行线性变换
非线性灰度级变换
用某些非线性变换函数作为灰度变换的变换函数时,可实现图像灰度的非线性变换。对数变换时常见的非线性变换
对数变换表达式:
g(x,y)=a⋅ln[f(x,y)+1]lnc
%%非线性(对数)灰度级变换
I=double(imread('099.jpg'));%读取图像并转换为double型(0~255)
NI=46*log(I+1);%对数变换、拉伸变换
figure,imshow(NI/256);
直方图修正
数字图像处理中,灰度直方图是最简单和常用的工具
灰度直方图
1)灰度直方图是灰度级的函数,表示是数字图像中每一灰度级与其出现频数(该灰度上出现像素的数目)间的统计关系
公式定义为:
P(rk)=nkN
N是一幅图的总像素数,nk是第k级灰度的像素数,rk表示第k个灰度级,P(rk)表示该灰度级出现的相对频数
这里写代码片
I=imread(‘099.jpg’);
figure,
subplot(1,2,1)
imshow(I);
title(‘Original Image’);
G=rgb2gray(I);
subplot(1,2,2);
imhist(G);
title(‘Histogram’);
直方图性质
1)直方图不具有空间特性
2)直方图反映图像的大致描述
3)一幅图像唯一对应相应的直方图,而不同图像可以有相同的直方图
4)若一幅图像可分为多个子区,则子区直方图之和等于全图直方图
直方图修正法理论
核心就是找到满足下述两个条件的变换函数 T(r)
1)T(r)在0⩽r⩽1区域内单值单调增加,以保证灰度级从黑到白次序不变
2)T(r)在0⩽r⩽1区域内满足0⩽s⩽1,以保证变换的像素灰度