Main Content

imabsdiff

两个图像的绝对差

说明

示例

Z = imabsdiff(X,Y) 从数组 X 中的每个元素中减去数组 Y 中的对应元素,并在输出数组 Z 的对应元素中返回绝对差。

示例

全部折叠

将图像读入工作区。

I = imread('cameraman.tif');

对图像进行滤波。

J = uint8(filter2(fspecial('gaussian'), I));

计算两个图像的绝对差。

K = imabsdiff(I,J);

显示绝对差图像。

figure
imshow(K,[])

输入参数

全部折叠

输入图像,指定为任意维度的数值数组。

示例: x = imread('cameraman.tif');

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

输入图像,指定为数值数组。Y 的大小和类必须与 X 相同。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

输出参量

全部折叠

绝对差图像,以数值数组形式返回。Z 的类和大小与 XY 相同。如果 XY 是整数数组,则 imabsdiff 会截断输出中超出整数类型范围的元素。

提示

  • 如果 X 属于 double 类,则使用表达式 abs(X-Y) 而不是此函数。

  • 如果 X 属于 logical 类,则使用表达式 XOR(X,Y) 而不是此函数。

  • XY 属于 uint8int16single 类时,则 imabsdiff 可以使用硬件优化来加快运行速度。

扩展功能

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

全部展开