图像运算

图像运算指对输入图像进行常见的逻辑和数据运算。逻辑运算包括与、或、异或等。数据运算包括加、减、乘、除、取最大、取最小等。图像运算在图像处理领域具有广泛的运用。例如,图像减操作可以检测同一场景或物体的不同图片之间的误差,图像加操作可降低图像中的随机噪声。

本节内容包含:

模块原理

针对两张大小和分辨率相同的输入图像,该模块可对相同像素位置的两个灰度值进行算术运算,全图运算后得到新的图像。

以下示例中,该模块对输入的两张图像(一张灰度图,一张掩膜图)进行两者取最小运算,得到一张只保留感兴趣区域的灰度图。

图 1 “两者取最小”效果示例

使用限制

表 1 使用限制

限制类型

描述

运算范围

该模块仅支持对图像进行全图运算,即无法指定ROI处理ROI范围内的图像。

图像类型

  • V4.3.1之前版本:该模块仅可输入两张灰度图。

  • V4.3.1起:该模块可输入的图像类型取决于运算类型参数取值(具体参见下文图像运算类型)。

    • 如果将该参数设置为两者最小值,则可输入一张Mono8灰度图和一张RGB24彩色图。

    • 如果将该参数设置为其他取值,则仅可输入两张灰度图。

使用方法

前后序模块

在流程中,该模块的:

  • 前序模块一般为两个图像源,提供两张图像输入。

  • 后序模块无特定要求。

应用示例

以下应用示例将输入的两张图像进行加运算,使外圆与内圆环更清晰。

图 2 流程示例
图 3 加运算效果

参数配置

以下仅介绍该模块的图像输入参数和图像运算类型参数。其他参数详情请参见基本参数

表 2 图像输入参数

参数

描述

输入源1/2

订阅图像源,需确保输入源1输入源2是两张大小一样的图片,即分辨率一致

图像权重1/2

当进行灰度值乘法计算时,输入源1输入源2的灰度值各自占的权重系数,分别对应图像运算类型中的k1和k2。仅在选择对应的运算类型时显示

图像补偿1/2

对应图像运算类型中的C。仅在选择对应的运算类型时显示

表 3 图像运算类型

序号

运算类型

描述

1

图像加

输入两张图逐像素相加得到目标图像

2

图像减

输入两张图逐像素相减得到目标图像

3

图像绝对差

输入两张图逐像素差值取绝对值得到目标图

4

两者最大值

输入两张图逐像素取最大值得到目标图

5

两者最小值

输入两张图逐像素取最小值得到目标图

6

两者均值

输入两张图像逐像素计算均值得到目标图

7

图像与

输入两张图像逐像素与运算,结果大于0为255,否则为0,得到目标图像

8

图像或

输入两张图像逐像素或运算,结果大于0为255,否则为0,得到目标图像

9

图像异或

输入两张图像逐像素对比,若不同时为0,则目标像素值为255,否则为0,得到目标图像

10

k1*I1+k2*I2+C

逐像素对图像1乘以K1,图像2乘以K2后相加再加常数C得到目标图像

11

k1*I1+C

逐像素对输入图像1乘以K1再加常数C得到目标图像

12

I1+C

逐像素对输入图像1加常数C得到目标图像

13

I1-C

逐像素对输入图像1减常数C得到目标图像

14

C-I1

逐像素使用常数C减图像1得到目标图像

15

两幅图像乘

输入两张图逐像素相乘得到目标图像

16

两幅图像除

输入两张图逐像素相除得到目标图像

17

I1/C

逐像素对输入图像1除以常数C得到目标图像

18

C/I1

逐像素使用常数C除以图像1得到目标图像

19

I1&&C

逐像素对输入图像1和常数C与运算,结果大于0为255,否则为0,得到目标图像

20

I1||C

逐像素对输入图像1和常数C或运算,结果大于0为255,否则为0,得到目标图像

21

I1^C

逐像素对输入图像1和常数C异或运算,结果大于0为255,否则为0,得到目标图像

22

图像和常数最大值

逐像素对输入图像1和常数C取最大值得到目标图像

23

图像和常数最小值

逐像素对输入图像1和常数C取最小值得到目标图像

24

图像和常数均值

逐像素对输入图像1和常数C取最均值得到目标图像

25

|I1-C|

逐像素对输入图像1和常数C差值取绝对值得到目标图像

26

两幅图像与非

输入两张图像逐像素与运算,结果大于0为0,否则为255,得到目标图像

27

两幅图像或非

输入两张图像逐像素或运算,结果大于0为0,否则为255,得到目标图像

28

!(I1&&C)

逐像素对输入图像1和常数C与运算,结果大于0为0,否则为255,得到目标图像

29

!(I1||C)

逐像素对输入图像1和常数C或运算,结果大于0为0,否则为255,得到目标图像

30

(I1-(I2+C))>=0?255:0

逐像素对图像2加常数C,若小于图像1像素值,则目标像素为255,否则为0

31

(I1-(I2+C))>=0?0:255

逐像素对图像2加常数C,若小于图像1像素值,则目标像素为0,否则为255

模块结果

该模块输出结果中各项参数详情,请参见图像运算模块的输出结果