机器视觉Halcon学习笔记-关于图像相减

机器视觉Halcon学习笔记

关于图像相减

  1. 考虑两幅灰度图像,它们的灰度覆盖了整个[0,255]的范围:
    (1) 讨论反复将图像(b)从图像(a)减去的最终结果,并给出前两次相减的结果图。

灰度图像a

灰度图像a

灰度图像b

灰度图像b

a-b效果图

a-b效果图

 a-b-b效果图

a-b-b效果图

效果如上所示,a图周围是黑色,也就是灰度值为0,再进行减法后,这部分已经不能再减了,一直为0,也就一直显示黑色。很明显可以看出图b中猴子的鼻子部分的灰度值很大,接近255。
当a-b后,图a月球部分本来是灰度值较高的,减去图b的鼻子部分后,得出来的结果会让月球中间部分灰度值降低,经过反复操作后,中间部分会变得更低,直至0为止。

dev_close_window()
read_image (Image1, 'C:/Users/Administrator/Desktop/aaa.jpg')
rgb1_to_gray (Image1, GrayImage)
get_image_size(GrayImage,width,height)
dev_open_window(0,0,width/1.2,height/1.2,'black',windowhandle)
dev_display(GrayImage)
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')
change_format (Image2, ImagePart, width, height)
dev_display (ImagePart)
dev_set_window(WindowHandle2)
*两幅图像相减乘以2拉大对比度,加上10提高整体亮度
sub_image(GrayImage, ImagePart, ImageSub, 2.0, 100)
sub_image(ImageSub, ImagePart, ImageSub2, 2.0, 100)

(2) 如果把图像的顺序调换会得到不同的结果吗?

很明显会不同,当b-a时图像如图所示:
a-b效果图

b-a效果图
dev_close_window()
read_image (Image1, 'C:/Users/Administrator/Desktop/aaa.jpg')
rgb1_to_gray (Image1, GrayImage)
get_image_size(GrayImage,width,height)
dev_open_window(0,0,width/1.2,height/1.2,'black',windowhandle)
dev_display(GrayImage)
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')
change_format (Image2, ImagePart, width, height)
dev_display (ImagePart)
dev_set_window(WindowHandle2)
*两幅图像相减乘以2拉大对比度,加上10提高整体亮度
sub_image(ImagePart, GrayImage, ImageSub, 2.0, 100)
sub_image(ImageSub, GrayImage, ImageSub2, 2.0, 100)

作为一个刚进入计算机行业的萌新,在解决这些问题的同时还需要注意几个问题:
1.两幅图像相减时要满足两幅图像必须长宽相同,不然会报错。
2.两幅图像必须都是一通道的,也就是必须是灰度图,一开始这个月球我以为是一通道,结果一查是三通道的。使用sub_image算子时,只能算一通道的图像。halcon里还有一个abs_diff_image算子,是用来求两幅图像的绝对值的,谁前谁后没关系,结果都一样。

  • 1
    点赞
  • 2
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值