文章目录

  • 前言
  • 一、灰度反转
  • 二、对数变换
  • 三、灰度直方图
  • 3.1、灰度直方图的概念及分布特征
  • 3.2、归一化灰度图像直方图
  • 3.3、灰度直方图的特征
  • 四、图像的代数运算
  • 4.1、图像的相加运算
  • 4.2、图像的相减运算
  • 结束!



前言

从一般意义上来说,图像运算仅指对图像中的所有像素实施了相同处理的那些运算,比如对图像的直方图运算、代数运算、几何运算等。


一、灰度反转

黑白图像的反转就是使灰度值为1的像素值变成0,使灰度值为0的像素值变成1.

对于256灰度级图像来说,图像的灰度反转值就是用255分别减去原图像的各个像素的灰度值

设图像的灰度级为L,则图像的灰度反转可表示为:灰度反转python 灰度反转的特点是什么_灰度直方图

灰度反转python 灰度反转的特点是什么_灰度反转python_02


执行代码:

invert_image(image, imageinvert)

二、对数变换

对原图像灰度反转python 灰度反转的特点是什么_直方图_03进行对数变换的解析式可表示为:灰度反转python 灰度反转的特点是什么_灰度反转python_04

对数变换曲线如下图所示:

灰度反转python 灰度反转的特点是什么_直方图_05


对数变换的作用:

  • 通过对图像的灰度值的动态范围进行压缩,主要用于调高输入图像的低灰度值
  • 人的视觉感觉与进入人眼的光的强度成对数关系,常先给图像进行对数变换后再显示输出。

代码如下

log_image(Image, LogImage, 'e')
Base:e, 2, 10

三、灰度直方图

3.1、灰度直方图的概念及分布特征

灰度图像的直方图是一种表示数字图像中各级灰度值及其出现频数的关系的函数,一般用一个二维坐标来表示。

描述灰度图像直方图的二维坐标的横坐标用于表示像素的灰度级别,纵坐标用于表示该灰度出现的频数(像素的个数)

设一幅数字图像的灰度级范围为灰度反转python 灰度反转的特点是什么_直方图_06则该图像的灰度直方图可定义为:灰度反转python 灰度反转的特点是什么_灰度直方图_07其中,灰度反转python 灰度反转的特点是什么_灰度反转python_08表示第k级灰度值;灰度反转python 灰度反转的特点是什么_图像处理_09表示图像中灰度值为灰度反转python 灰度反转的特点是什么_灰度反转python_08的像素的个数;灰度反转python 灰度反转的特点是什么_灰度直方图_11是灰度图像的直方图函数。

灰度直方图表明图像中每一个灰度级有多少个像素。

灰度反转python 灰度反转的特点是什么_图像处理_12

以下为四种基本图像类型及其灰度直方图:

灰度反转python 灰度反转的特点是什么_灰度值_13


灰度反转python 灰度反转的特点是什么_图像处理_14


3.2、归一化灰度图像直方图

归一化灰度图像直方图的引入:
由于之前所定义的灰度直方图反映的是图像中各灰度的实际出现频数。这样当某个灰度值的频数(计数值)远远大于其它灰度值的频数时,根据图像的某个或某些像素出现的最大频数来确定直方图的纵坐标的最大尺度既不方便也不现实,所以就引入了归一化直方图的概念。

灰度反转python 灰度反转的特点是什么_灰度反转python_08为图像灰度反转python 灰度反转的特点是什么_直方图_03的第k级灰度值,灰度反转python 灰度反转的特点是什么_图像处理_09是图像灰度反转python 灰度反转的特点是什么_直方图_03中具有灰度值灰度反转python 灰度反转的特点是什么_灰度反转python_08的像素的个数,n是图像灰度反转python 灰度反转的特点是什么_直方图_03中的像素总数,则图像灰度反转python 灰度反转的特点是什么_直方图_03的灰度直方图定义为:灰度反转python 灰度反转的特点是什么_灰度直方图_22


3.3、灰度直方图的特征

灰度直方图具有如下一些特征:

  • 直方图仅能描述图像中每个灰度值具有的像素个数,不能表示图像中每个像素的位置(空间)信息;
  • 任一特定的图像都有唯一的直方图,不同的图像可以具有相同的直方图
  • 如果一幅图像由两个不连接的区域组成,则整幅图像的直方图等于两个不连接的区域的直方图之和。

直方图反映的总体性质:明暗程度、细节是否清晰、动态范围大小等。

灰度反转python 灰度反转的特点是什么_直方图_23

代码如下

gray_histo(Rectangle1, Image, AbsoluteHisto, RelativeHisto)

示例代码如下

read_image(Image, '图像路径')
get_image_size(Image, Width, Height)
gen_rectangle1(Rectangle1, 0, 0, Height, Width)
gray_histo(Rectangle1, Image, AbsoluteHisto, RelativeHisto)
gen_region_histo(Histo1, AbsoluteHisto, 200, 200, 1)

四、图像的代数运算

4.1、图像的相加运算

图像相加是通过对两幅大小相同的图像对应位置像素的相加运算,以产生一幅新的含有两幅图像信息的图像的方法。图像相加也称为图像合成

灰度反转python 灰度反转的特点是什么_灰度值_24灰度反转python 灰度反转的特点是什么_灰度值_25分别表示大小为灰度反转python 灰度反转的特点是什么_灰度值_26的两幅输入图像,图像灰度反转python 灰度反转的特点是什么_灰度值_24灰度反转python 灰度反转的特点是什么_灰度值_25图像相加后得到的结果输出图像为灰度反转python 灰度反转的特点是什么_灰度反转python_29,且:灰度反转python 灰度反转的特点是什么_灰度直方图_30灰度反转python 灰度反转的特点是什么_灰度直方图_31,则两幅图像的相加运算可表示为:灰度反转python 灰度反转的特点是什么_灰度值_32

灰度反转python 灰度反转的特点是什么_灰度直方图_33


灰度反转python 灰度反转的特点是什么_灰度反转python_34


两幅256灰度级图像对应坐标位置像素值的相加,其结果可能会超过其最大的灰度表示范围255,显然对图像相加运算的结果都需要进行处理,基本方法有三种:

  • 一种是将两像素灰度值相加后的平均值作为相加结果。
  • 二是根据两幅图像所有像素灰度值相加结果的最小值和最大值情况,作等比例缩小,使其结果灰度值符合0至255的灰度值范围。
  • 三是当两像素灰度值相加后的值超过255时,取255即可。

代码如下

add_image(Image1, Image2: ImageResult: Mult, Add: )

灰度反转python 灰度反转的特点是什么_灰度直方图_35


4.2、图像的相减运算

灰度反转python 灰度反转的特点是什么_灰度值_24灰度反转python 灰度反转的特点是什么_灰度值_25分别表示大小为灰度反转python 灰度反转的特点是什么_灰度值_26的两幅输入图像,从图像灰度反转python 灰度反转的特点是什么_灰度值_24中的各位置的像素中减去的相应位置的像素值后,得到的结果输出图像为灰度反转python 灰度反转的特点是什么_灰度反转python_29,且灰度反转python 灰度反转的特点是什么_图像处理_41灰度反转python 灰度反转的特点是什么_灰度值_42,则两幅图像的相减运算可表示为:灰度反转python 灰度反转的特点是什么_直方图_43

灰度反转python 灰度反转的特点是什么_直方图_44


代码如下

sub_image(ImageMinuend, ImageSubtrahend: ImageSub: Mult, Add: )

当两幅256灰度级图像对应坐标位置像素值相减的结果大于或等于零时,则取其为结果图像中对应位置像素的灰度值;当相减结果小于零时,一般都是取零为结果值。当然,对于某些特殊的应用目的,也可以取其绝对值为结果值。

图像相减运算的典型应用:

  • 消除背景的影响
  • 检测同一场景下两幅图像的变化

结束!