【Halcon】实现分离通道、创建矩形、获取灰度级、求最大最小均值、求大于某一灰度级的像素点数

read_image (Image, 'D:/image/123.jpg')
rgb1_to_gray (Image, GrayImage)
gen_rectangle1 (Rectangle, 100, 100, 200, 200)
rectangle1_domain (GrayImage, ImageReduced, 100, 100, 200, 200)
crop_domain (ImageReduced, ImagePart)
get_region_points (ImagePart, Rows, Columns)
get_grayval (ImagePart, Rows, Columns, Grayval)
tuple_length (Grayval, Length)
tuple_min (Grayval, Min)
tuple_max (Grayval, Max)
tuple_mean (Grayval, Mean)
threshold(ImagePart, Region, 100, 255)
region_features (Region, 'area', Value)

注:下述解释中用到的所有类 (x, y) 的形式,都是以数学坐标系为基础进行的,但是在Halcon中,Row表示行数(代表 y),Col表示列数(代表 x)

我们依次分析每个算子的作用:

1、read_image( : Image : FileName : )

  根据 FileName 读取图片,然后输出到 Image 中。

2、rgb1_to_gray(RGBImage : GrayImage : : )

  将RGB图像 RGBImage 转为灰度图输出到 GrayImage 中

3、gen_rectangle1( : Rectangle : Row1, Column1, Row2, Column2 : )

  创建一个矩形,左上角坐标是(Column1, Row1),右下角坐标是(Column2 , Row2),并输出到 Rectangle

4、crop_domain(Image : ImagePart : : )

  将输入的 Image 图像以独立图像的形式输出到 ImagePart,即上一步只是裁剪,但是其坐标还是针对于被裁剪的原图,到这一步时其坐标才是以独立图像进行(大白话就是,gen_rectangle1得到的左上角不是 0, 0,只有再使用 crop_domain 后其左上角才是 0, 0 )

5、get_region_points(Region : : : Rows, Columns)

  获取输入图像 Region 的所有像素点坐标,并输出到 Rows,Columns 中

6、get_grayval(Image : : Row, Column : Grayval)

  获取输入图像 Image 从 (0, 0)到(Column, Row)之间的所有像素点的灰度级,并输出到 Grayval 中。

7、tuple_length( : : Tuple : Length)

  获取输入数组 Tuple 的长度赋值给 Length。

8、tuple_min( : : Tuple : Min)

  获取输入数组 Tuple 的最小值赋值给 Min

9、tuple_max( : : Tuple : Max)

  获取输入数组 Tuple 的最大值赋值给 Max

10、tuple_mean( : : Tuple : Mean)

  获取输入数组 Tuple 的平均值赋值给 Mean

11、threshold(Image : Region : MinGray, MaxGray : )

  将输入图像 Image 进行二值化,最小值为 MinGray,最大值为 MaxGray,最后输出到 Region 中。

12、region_features(Regions : : Features : Value)

  将输入图像 Regions 根据所选特征 Features 进行计算,然后返回计算得到的特征数赋值给 Value。( Features 列表详情参考 HDevelop 帮助窗口)

posted @ 2024-05-21 12:08  VanGoghpeng  阅读(76)  评论(0编辑  收藏  举报