《数字图像处理》第三版 Rafael C. Gonzalez等著
P65
第一个是反转变换
彩色图像的灰度计算有好几种方法,自行定义。我这里取灰度=(r+g+b)/3;
文中给出公式s=L-1-r,r在[0,L-1]范围
1、遍历图像找出最大最小灰度 max,min
2、再次遍历计算每个点的灰度s=max-(r-min)
第二个是对数变换
对数的导数是1/x,小于1 ,凸函数,灰度都扩大
书上公式s=clog(1+r)是错误的,网上查了matlab版的是s=clog(1+v*r)/log(v+1)。r=[0,1]的L,就是max-min的比率
v=200
v=30
看出来v=200的更亮
第三个是bit分层图
书上一开始我没看懂,只给出了bit8的生成,后边有个重建图像才明白,其实取当前位的值1,灰度就是255,0就是0。重建其实就是去精度,取高位
比如一个像素灰度是11011000。
bit7的图的处理是
11011000&01111111=01011000(截掉高位),然后判断是否大于1000000。即看bit7的位的值
bit6的图的处理是
11011000&00111111=00011000(截掉高位),然后判断是否大于100000。即看bit6的位的值
原图 bit-8bit-7bit-6
7-8重建6-7-8重建
第四个是直方图均衡变换
说实话,这2页写的不好,看了2天才明白,一开始给出了不同对比度的4个图的灰度分布直方图,
显示对比度高的分布比较均匀。下边就是介绍
如何变换让原图的灰度变的均匀,那么图像不就对比度变高了。
文中先给出公式,再证明ps(s)=1/(L-1)是均衡的。这样就有些难理解,怎么突然冒出个公式。
应该是先假设ps(s)=1/(L-1)。然后往上推导出T(r)的公式才对。
可以看出对比度确实增强了
https://github.com/penkee/imagecal
com.dcloud.app_dao.TestBu.huiduChange