少有人走的路

勇哥的工业自动化技术网站

halcon差异运算去掉背景图像

如果是下相机对位,有时候会碰到相机拍到复杂背景,造成需要处理的工件被背景干扰的问题。

这时候有一个办法是去掉背景。一般来讲,每次拍到的背景应该是一样的,只是每次拍到的工件不一样。


勇哥直接上图片与演示代码,最后介绍一下相关的算子。


image.png

(图1   背景图像)

image.png

(图2  含有背景图像的电芯)


下面是代码处理的结果。


image.png

(图3  电池本体之外的背景全部镂空的效果)

image.png

(图4 含有膨胀区域的处理结果)


read_image(backImg, 'C:/Users/Administrator/Desktop/bj1.png')
read_image(inputImg, 'C:/Users/Administrator/Desktop/bj2.png')
gen_empty_obj(resultImg)
gen_empty_obj(resultImg2)
abs_diff_image(inputImg, backImg, ImageAbsDiff, 1)
threshold(ImageAbsDiff, Region, 8, 255)
connection(Region, ConnectedRegions)
fill_up(ConnectedRegions, RegionFillUp)
select_shape_std(RegionFillUp, SelectedRegions, 'max_area', 70)
shape_trans(SelectedRegions, RegionTrans, 'rectangle2')
dilation_circle(RegionTrans, RegionDilation, 10)
reduce_domain(inputImg, RegionDilation, resultImg)
reduce_domain(inputImg, SelectedRegions, resultImg2)

下面讲一下相关的算子:


abs_diff_image算子解析

  abs_diff_image算子能够得到两幅图像相减后的结果图,其结果是以绝对值的方式呈现。主要用于计算两幅图像的差异,可用于和图片的对比测试。

abs_diff_image(Image1, Image2 : ImageAbsDiff : Mult : )
Image1,Image2是输入图像
ImageAbsDiff是相减后的结果,是输出图像
Mult是放大倍数
相减公式:g' = |(Image1 - Image2)| * Mult

不论输入的是彩色图像,还是灰度图像,该算子都能进行相减操作。但是如果是希望得到两幅图像在亮度上的差异,则建议使用rgb1_to_gray (Image1, GrayImage1)如上算子将RGB图转为灰度图之后,再进行相减更能得到想要的结果。

read_image (Image1, 'F:/SZWX912/TestImage/Pic912/0002.bmp')
rgb1_to_gray (Image1, GrayImage1)
read_image (Image2, 'F:/SZWX912/TestImage/Pic912/0008.bmp')
rgb1_to_gray (Image2, GrayImage2)
abs_diff_image ( GrayImage1,  GrayImage2, ImageAbsDiff, 1)

sub_image算子解析

  sub_image是计算两幅图像相减结果的实际值,这种相减有方向性,也就是说减数和被减数的位置调换会影响输出结果。如果相减后像素值小于零,其结果图中会被置0;同理,如果像素值大于255,也会被截断使其最大值为255。

sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : ) 
ImageMinuend是被减图像
ImageSubtrahend是减去的图像
ImageSub是减后的结果图像
Mult是放大倍数
Add是附加灰度值

两者差异

  其差异是有两个方面:

  (1)abs_diff_image是两幅图像相减的绝对值,而sub_image是相减后的实际值。

  (2)abs_diff_image的计算结果没有附加灰度值参数,而sub_image又附加灰度值参数。该参数可用于提升图像整体的灰度。


--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864