Halcon算子:area_center和area_center_gray的区别

算子area_center(Regions : : : Area, Row, Column)这个地球人都知道;

算子area_center_gray(Regions, Image : : : Area, Row, Column

在灰度图像中计算区域的面积和中心。该算子与算子area_center 类似,但与area_center对比,计算区域的面积和中心时需要把图像的灰度值考虑进去。

图像中具有灰度值g(r,c)的区域R面积A被定义为:

                   ---

                 \
面积     A =     /   g(r,c) .
                 ---
             (r,c) in R

也可以理解算子area_center_gray中计算的面积为“体积”;例如由算子area_center(Region,A_R,Row_R,Col_R)计算区域Region的面积,A_R为计算的Region的面积,区域Region的灰度值为Gray_R ,那么area_center_gray算子中计算的面积("体积")A = A_R*Gray_R,A_R为面积Gray_R灰度值为高度。

Size := 512
Radius := 100
Gray_R := 100
gen_image_const (Image, 'byte', Size, Size)
gen_circle (Region, Size/2, Size/2, Radius)
*A_R = Radius*Radius*3.14159265
area_center (Region, A_R, Row_R, Col_R)
paint_region (Region, Image, ImageRegion, Gray_R, 'fill')
threshold (ImageRegion, Region1, 1, 255)
*Area_G = A_R*Gray_R 
area_center_gray (Region1, ImageRegion, Area_G, Row_G, Col_G)

猜你喜欢

转载自blog.csdn.net/guang670248515/article/details/79472847