Halcon 算子sub_image add_image mult_image div_image

Halcon 算子 sub_image add_image mult_image div_image - 一杯清酒邀明月 - 博客园

都是基础性的知识,但是用的时候不是说不知道,就是容易混淆,我见过N多次的丰田和本田,但就是分不清那个是丰田那个是本田、、、、、、

四个算子基本功能都是对两幅图片或包含多幅图片的数组进行操作,主要不同点在于计算公式的不同,div_image的参数取值范围和其它三个略又不同


作用:两个图片相减;是灰度值的相减

参数翻译(顺序对应以上参数顺序):

输入参数需要被减的图片、

输入参数拿来减的图片、

输出参数结果图片、

输入矫正因子 -255.0 ≤ Mult ≤ 255.0、

输入矫正值 -512.0 ≤ Add ≤ 512.0

描述:

输入图片g1和g2相减后,得到的图片的灰度值按以下公式计算:

计算得出的值如果发生溢出或者下溢,这个值会被舍弃,当然如果是矢量图片或者周期图片则不会被舍弃;

两个包含相同个数图片的数组也可以带入以上公式计算,结果也是个和输入数组图片个数相同的数组;

不同的参数,运行时间是不一样的,对于常用的组合,是经过优化的;


作用:两个图片相加;

参数翻译(顺序对应以上参数顺序):

输入参数需要被相加的图片、

输入参数拿来加的图片、

输出参数结果图片、

输入矫正因子 -255.0 ≤ Mult ≤ 255.0、

输入矫正值 -512.0 ≤ Add ≤ 512.0

描述:

输入图片g1和g2相加后,得到的图片的灰度值按以下公式计算:

计算得出的值如果发生溢出或者下溢,这个值会被舍弃,当然如果是矢量图片或者周期图片则不会被舍弃;

两个包含相同个数图片的数组也可以带入以上公式计算,结果也是个和输入数组图片个数相同的数组;

不同的参数,运行时间是不一样的,对于常用的组合,是经过优化的;


作用:两个图片相乘;

参数翻译(顺序对应以上参数顺序):

输入参数需要被乘的图片、

输入参数拿来乘的图片、

输出参数结果图片、

输入矫正因子 -255.0 ≤ Mult ≤ 255.0、

输入矫正值 -512.0 ≤ Add ≤ 512.0

描述:

输入图片g1和g2相乘后,得到的图片的灰度值按以下公式计算:

计算得出的值如果发生溢出或者下溢,这个值会被舍弃,当然如果是矢量图片或者周期图片则不会被舍弃;

两个包含相同个数图片的数组也可以带入以上公式计算,结果也是个和输入数组图片个数相同的数组;

不同的参数,运行时间是不一样的,对于常用的组合,是经过优化的;


作用:两个图片相除;

参数翻译(顺序对应以上参数顺序):

输入参数需要被除的图片、

输入参数拿来除的图片、

输出参数结果图片、

输入矫正因子  -1000 ≤ Mult ≤ 1000、

输入矫正值  -1000 ≤ Add ≤ 1000

描述:

输入图片g1和g2相除后,得到的图片的灰度值按以下公式计算:

计算得出的值如果发生溢出或者下溢,这个值会被舍弃,当然如果是矢量图片或者周期图片则不会被舍弃;

两个包含相同个数图片的数组也可以带入以上公式计算,结果也是个和输入数组图片个数相同的数组;

不同的参数,运行时间是不一样的,对于常用的组合,是经过优化的;

scale_image()函数

scale_image(Image : ImageScaled : Mult, Add : )缩放图像的灰度值。最佳Mult和Add值的选取由下:

1、先用 max_min_image 得到整张图像的最大值与最小值 GMin为图像的最小灰度值,GMax为图像的最大灰度值。

min_max_gray(Regions, Image : : Percent : Min, Max, Range)

然后再用这个原理来拉伸对比度 

max_image
功能:按像素计算两个图像的最大值。

开运算和闭运行

Halcon 开,闭运算_Austin Yang的博客-CSDN博客_halcon开运算和闭运算
 

在膨胀和腐蚀两个基本运算的基础上,可以构造出形态学运算族,它由上述两个运算的符合和集合操作(并、交、补等)组合成的所有运算构成。其中两个最为重要的组合运算是形态学开运算和闭运算。
开运算相当于对图像先进行腐蚀运算再进行膨胀运算,可以消除离散点和"毛刺",可以将两个物体分开。
闭运算相当于对图像先进行膨胀运算再进行腐蚀运行,可以填充图像的内部孔洞和图像的凹角点,可以把两个邻近的目标连接起来。
开运算
opening(Region, StructElement:RegionOpening::)
功能:使用用户自定义的结构元素对区域进行开运算
参数:    Region(输入参数):输入区域 
StructElement(输入参数):结构元素(区域)
RegionOpening(输出参数):开运算后的区域
opening_circle(Region:RegionOPening:Radius:)
功能:使用圆形结构元素对区域进行开运算 
参数:    Region(输入参数):输入区域 
RegionOpening(输出参数):开运算后的区域 
Radius(输入参数):圆形结构元素的半径 
opening_rectangle1(Region:RegionOpening:Width,Height)
功能:使用矩形结构元素对区域进行开运算。
参数:    Region(输入参数):输入区域 
RegionOpening(输出参数):开运算后的区域 
Width(输入参数):矩形结构元素的宽度 
Height(输入参数):矩形结构元素的高度 
闭运算 
closing(Region, StructElement:RegionClosing::)
功能:使用用户自定义的结构元素对区域进行闭运算 
参数:    Region(输入参数):输入区域
StructElement(输入参数):用户自定义结构元素 
RegionClosing(输出参数):闭运算的区域 
closing_circle(Region: RegionClosing: Radius:)
功能:    使用圆形结构元素对区域进行闭运算。
参数:    Region(输入参数):输入区域 
RegionClosing(输出参数):闭运算后的区域 
Radius(输入参数):圆形结构元素的半径 
closing_rectangle1(Region:RegionClosing:Width, Height:)
功能:使用矩形结构元素对区域进行闭运算 
参数:    Region(输入参数):输入区域 
RegionClosing(输出参数):闭合后的区域
Width(输入参数):矩形结构元素的宽度 
Height(输入参数):矩形结构元素的高

闭运算填补漏洞结果图:

 开运算去掉毛刺效果图像

read_image (Image618, 'D:/OpenCVandImages/opencv_images/618.png')

mult_image (Image618, Image618, ImageResult, 0.005, 0)

max_image (Image618, Image618, ImageMax)

rgb3_to_gray (ImageMax, ImageMax, ImageMax, ImageGray)
threshold (ImageGray, Region, 48, 255)

*closing_circle (Region, RegionClosing, 3.5)

opening_circle (Region, Region, 33.5)
read_image (Image642, 'D:/OpenCVandImages/opencv_images/642.jpg')

rgb3_to_gray (Image642, Image642, Image642, ImageGray)
threshold (ImageGray, Region1, 0, 108)
opening_circle (Region1, RegionOpening, 10)

猜你喜欢

转载自blog.csdn.net/weixin_39354845/article/details/123626432
今日推荐