灰度反转 “你说的黑是什么黑......”有一首歌的歌词是这样的。 在图像中,黑是什么? 很简单,就是0嘛。 因为在数字图像里,用0表示黑。 那么,“你说的白是什么白?” 在256灰度级的灰度图像中,白就是255。 所谓的灰度反转,也叫反色变换,就是把黑变成白,白变成黑。 那黑和白之间的那些灰度如何反转呢,用255-灰度值就行了。 专业一点,用表达式表示为: g(x,y)=L-1-f(x,y) L为图像的灰度级,一般的灰度图像中,L=256. g(x,y)为结果图像,f(x,y)为原图像。 1、灰度图像反色变换 如下图,左边的黑色字母T,背景色为白色,转换后,变成了白色的字母T,背景色变成了黑色。 仔细区分,还是能发现,黑变成了白(如头发,眼睛),白变成了黑(如帽沿,肩膀)。但黑和白之间的那些灰度,也都是用255减去了它本身的灰度值,我只能看出来有变化,变化是从这种灰这成了那种灰,反正我的视觉没有经过训练,分不太出来,哪个像素到底灰度值是多少。 2、彩色图像反色变换 对于彩色图像来说,反色变换就是将图像中的R、G、B分量反转,专业一点地用表达式来写即是: 如下图所示,还是用lena美女图来示意。 结果图像好像有点玄幻,但你要相信,反色过来就是这样的。RGB三基色的相加或相减混色,出来的效果就是这样啦。 其代码如下: 代码也不复杂,即我们前面所介绍过的拆分与合并,对各个通道进行反色变换,再合并回来就行。 写代码的时候,因为三个通道的操作是一样的,也可以把上述代码简写为: 两段代码的运行结果是一样一样的哟。
|
|
来自: pythonjava学习 > 《python图像处理》