abs_diff_image — 计算两幅图片的绝对差值
函数原型:abs_diff_image(Image1, Image2 : ImageAbsDiff : Mult : )
功能:该算子能够得到两幅图像相减后的结果图,其结果是以绝对值的方式呈现。主要用于计算两幅图像的差异,可用于和图片的对比测试。
参数:
Image1 (输入) ——输入图像1
Image2 (输入) ——输入图像2
ImageAbsDiff (输出) ——输入图像的绝对差值,是相减后的结果,为输出图像
Mult (输入) ——放大倍数。
默认值:1.0
建议值:1.0、2.0、3.0、4.0
限制:Mult> 0
相减公式为:g' = |(Image1 - Image2)| * Mult
abs_diff_image算子可以对彩色图像或灰度图像进行相减操作。若是使用rgb1_to_gray(Image,GrayImage)算子将RGB图像转化为灰度图之后,再进行相减操作,可以获得两幅图像在亮度上的差异。
read_image (Image, 'D:/PIC/1.bmp')
rgb1_to_gray (Image, GrayImage)
read_image (Image1, 'D:/PIC/2.bmp')
rgb1_to_gray (Image1, GrayImage1)
abs_diff_image ( GrayImage, GrayImag1, ImageAbsDiff, 1)
sub_image()——计算两幅图像相减结果的实际值
函数原型:sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )
功能:sub_image是计算两幅图像相减结果的实际值,这种相减有方向性,也就是说减数和被减数的位置调换会影响输出结果。如果相减后像素值小于零,其结果图中会被置0;同理,如果像素值大于255,也会被截断使其最大值为255。
参数:
ImageMinuend(输入):被减图像
ImageSubtrahend(输入) :减去的图像
ImageSub(输出) :相减后的结果图像
Mult(输入) ——比例因子
默认值:1.0
建议值:0.0、1.0、2.0、3.0、4.0
典型值范围:-255.0≤Mult≤255.0
最小增量:0.001
建议增量:0.1
Add(输入) :附加灰度值
默认值:128.0
建议值:0.0、128.0、256.0
典型值范围:-512.0≤Add≤512.0
最小增量:0.01
建议增量:1.0
算子计算表达式:ImageSub =( ImageMinuend - ImageSubtrahend ) *Mult + Add
之所以乘以Mult是要拉大两幅图像相减后的对比度,加上一个Add是为了增加相减后的图像的整体亮度。
示例:
read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
sub_image (Image1, Image2, Result, 1, 100)
dev_display (Result)
(1)abs_diff_image是两幅图像相减的绝对值,而sub_image是相减后的实际值。
(2)abs_diff_image的计算结果没有附加灰度值参数,而sub_image又附加灰度值参数。该参数可用于提升图像整体的灰度。