halcon學習備忘二(影象相減運算元)
在我們編寫halcon程式中可能常會用到影象相減運算元sub_image,例如在做高斯高通濾波的時候,最後的結果是要用原影象減去濾波後的影象才能得到銳化影象。該運算元的引數形式如下:
sub_image(ImageMinuend , ImageSubtrahend : ImageSub : Mult , Add :)
第一個引數是被減影象,第二個引數是減數影象,第三個引數是結果影象,第四個引數是乘數因子,第五個引數是灰度補充值
運算元可以用以下計算式子表達:
ImageSub =( ImageMinuend - ImageSubtrahend ) *Mult + Add
之所以乘以Mult是要拉大兩幅影象相減後的對比度,加上一個Add是為了增加相減後的影象的整體亮度。
例子:
dev_close_window()
read_image(Image1,'fabrik')
get_image_size(Image1,width,height)
dev_open_window(0,0,width/1.2,height/1.2,'black',windowhandle)
dev_display(Image1)
dev_open_window(height/1.2, 0, width/1.2, height/1.2, 'black', WindowHandle1)
dev_open_window(0, width/1.2, width/1.2, height/1.2, 'black', WindowHandle2)
dev_set_window(WindowHandle1)
read_image(Image2, 'monKey')
dev_set_window(WindowHandle2)
*兩幅影象相減乘以2拉大對比度,加上10提高整體亮度
sub_image(Image1, Image2, ImageSub, 2.0, 10.0)