1、灰度变换
1)灰度图的线性变换
Gnew = Fa * Gold + Fb。
Fa为斜线的斜率,Fb为y轴上的截距。
Fa>1 输出图像的对比度变大,否则变小。
Fa=1 Fb≠0时,图像的灰度上移或下移,效果为图像变亮或变暗。
Fa=-1,Fb=255时,发生图像反转。
注意:线性变换会出现亮度饱和而丢失细节。
2)对数变换
t=c * log(1+s)
c为变换尺度,s为源灰度,t为变换后的灰度。
对数变换自变量低时曲线斜率高,自变量大时斜率小。所以会放大图像较暗的部分,压缩较亮的部分。
3)伽马变换
y=(x+esp)γ,x与y的范围是[0,1], esp为补偿系数,γ为伽马系数。
当伽马系数大于1时,图像高灰度区域得到增强。
当伽马系数小于1时,图像低灰度区域得到增强。
当伽马系数等于1时,图像线性变换。
4)图像取反
方法1:直接取反
imgPath = 'E:\opencv_pic\src_pic\pic2.bmp';
img1 = imread(imgPath); % 前景图
img0 = 255-img1; % 取反景图
subplot(1,2,1),imshow(img1),title('原始图像');
subplot(1,2,2),imshow(img0),title('取反图像');
方法2:伽马变换
Matlab:imadjust(f, [low_in, high_in], [low_out, high_out], gamma)
[low_in, high_in]范围内的数据映射到 [low_out, high_out],低于low的映射到low_out, 高于high的映射到high_out.
imgPath = 'E:\opencv_pic\src_pic\pic2