文档

imabsdiff

两幅图像的绝对差异

语法

Z = imabsdiff(X,Y)
gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY)

描述

例子

Z= imabsdiff (XY减去数组中的每个元素Y从数组中相应的元素X并返回输出数组中对应元素的绝对差值Z

例子

gpuarrayZ= imabsdiff (gpuarrayXgpuarrayY如果至少一个输入是GPU array,则在GPU上执行计算。输出的图像是一个gpuArray。此语法需要并行计算工具箱™。

例子

全部折叠

将图像读入工作区。

I = imread(“cameraman.tif”);

过滤图像。

J = uint8(filter2(fspecial(“高斯”),我));

计算两幅图像的绝对差值。

K = imabsdiff(I,J);

显示绝对差图像。

图imshow (K, [])

读取图像并将其转换为一个gpu阵列。

I = gpuArray(imread)“cameraman.tif”));

通过图形处理器对图像进行过滤。

J = imfilter(I,fspecial(“高斯”));

计算滤波后图像与原始图像的绝对差值。

K = imabsdiff(I,J);

显示绝对差图像。

图imshow (K, [])

输入参数

全部折叠

输入图像,指定为实数,非稀疏数字数组。X一定是同尺寸同级别的Y

如果X是一流的,用这样的表达abs (x - y)而不是这个函数。如果X是一流的逻辑,用这样的表达XOR (X, Y)而不是这个函数。

例子:Z = imabsdiff(X,Y);

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

输入图像,指定为实数,非稀疏数字数组。Y一定是同尺寸同级别的X

如果Y是一流的,用这样的表达abs (x - y)而不是这个函数。如果Y是一流的逻辑,用这样的表达XOR (X, Y)而不是这个函数。

例子:Z = imabsdiff(X,Y);

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

输入图像,指定为gpu阵列。

例子:gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY);

输入图像,指定为gpu阵列。

例子:gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY);

输出参数

全部折叠

差分图像,返回为实数,非稀疏,数值数组。Z有相同的级别和尺寸X而且Y.如果X而且Y是整数数组,imabsdiff截断输出中超过整数类型范围的元素。

差分图像,返回为gpuArraygpuarrayZ有相同的级别和尺寸gpuarrayX而且gpuarrayY

提示

  • X而且Y都是上等的uint8int16,或imabsdiff也许可以利用硬件优化来提高运行速度。

扩展功能

R2006a之前介绍过

这个话题有帮助吗?