之前的边缘检测我们已经由浅及深的过关斩将把基础的知识一一扫荡过了,从今天开始我们就开始进入到Imaging Enhencement上来了,希望大家能在其中收获到自己想要的东西。

 

理论基础

 

既然是图像增强那肯定是针对图像上的一个个像素点所对应的亮度来操作的,所以我们首先引入亮度变换函数:

图像亮度变换 python alpha 图像亮度函数i=f(x,y,z,λ,t)_彩色图像

       其中,r表示图像f(输入图像)中相应点(x, y)的亮度,s 表示图像g(输出图像)中相应点(x, y)的亮度。而T就是一个亮度或灰度级变换函数。当处理单色(灰度)图像时,这两个术语是可以相互换用的。当处理彩色图像时,亮度用来表示某个色彩空间中的一个彩色图像分量。

 

imadjust函数实战现场

 

   此函数是对灰度图像进行亮度变换的基本手段,其语法为:

图像亮度变换 python alpha 图像亮度函数i=f(x,y,z,λ,t)_图像识别_02

   此函数将图像f中的亮度值映像到g中的新值,即将low_in 至high_in之间的值映射到1ow_out 至high_out之间的值。low_in以下与high_in 以上的值则被剪切掉了;换言之,1ow_in以下的值映射为low_out, high_in以 上的值映射这high_out。而对于第三个参数gamma,我们可以用一幅图对比来看。

图像亮度变换 python alpha 图像亮度函数i=f(x,y,z,λ,t)_灰度_03

    对于此参数的理解其实很简单,当gamma为1时输入输出就是线性映射的,而对于其他两种则是使输出更暗或者是更亮了!

    以下我们就针对乳房的一张X光片来进行实战演练一下!

f=imread("Fig0203(a).tif");

g1=imadjust(f,[0,1],[1,0]);

g2=imadjust(f,[0.5 0.75],[0,1]);

g3=imadjust(f,[],[],2);

figure(1);

subplot(2,2,1);

imshow(f);

subplot(2,2,2);

imshow(g1);

subplot(2,2,3);

imshow(g2);

subplot(2,2,4);

imshow(g3);

运行代码,效果图如下:

图像亮度变换 python alpha 图像亮度函数i=f(x,y,z,λ,t)_灰度_04

    从代码可以看到我们首先对对图像进行了黑白灰度翻转,再是对其做了灰阶的扩展,最后调了一下gamma参数的偏暗处理,对应前文所说的我们就在gamma参数处设为了2,得到的结果也的确比原图偏暗了许多!

小白今天的介绍就到这里啦!

内容很简单,但自己尝试一下会觉得很有意思哟,快动手试试吧!