Halcon 基本算子釋義

read_image(Image, 'fabrik')
threshold(Image, Region, 128, 255)
connection (Region, ConnectedRegions)
*變換區域的形狀(凸包性等)
shape_trans(ConnectedRegions, RegionTrans, 'convex')
*區域篩選
select_shape(ConnectedRegions, ConnectedRegions, 'area', 'and', 100, 99999)
*平行於主軸的最小矩形
smallest_rectangle1 (ConnectedRegions, Row1, Column1, Row2, Column2)
*任意方向的最小矩形(複雜但快速的方法)
smallest_rectangle2(ConnectedRegions, Row, Column, Phi, Length1, Length2)
*最小外接圓
smallest_circle(ConnectedRegions, Row3, Column3, Radius)
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
gen_rectangle2 (Rectangle1, Row, Column, Phi, Length1, Length2)
gen_circle(Circle, Row3, Column3, Radius)
count_obj(Rectangle,Number2)
count_obj (Circle, Number3)
*把第二個參數裏的所有區域合併到第一個參數的每一個區域中
union2 (Rectangle,Circle,RegionUnion1)
connection (RegionUnion1, ConnectedRegions1)
count_obj(ConnectedRegions1, Number1)
*把所有ROI合併成一個區域
union1 (Circle, RegionUnion)
count_obj(RegionUnion, Number)
*計算每個輸入區域的補集
complement (RegionUnion, RegionComplement)
*第一個參數中的每一個區域與第二個參數中的區域進行相交
intersection(Circle,Rectangle,RegionIntersection)
*去掉第二個參數與第一個參數共有的區域(在第一個區域中出現但不在第二個區域中)
difference(Rectangle,ConnectedRegions,RegionDifference)
draw_rectangle1(3600, Row11, Column11, Row21, Column21)
gen_rectangle1 (Rectangle2, Row11, Column11, Row21, Column21)
*求Region指定特徵值
region_features (Rectangle2,'area', Value)
*裁剪圖像(兩種方法)
add_channels(Rectangle2, Image, GrayRegions)
crop_domain (GrayRegions, ImagePart)
reduce_domain (Image,Rectangle2, ImageReduced)
crop_domain(ImageReduced, ImagePart1)
*對灰度值進行線性變換(g' := g * Mult + Add)
scale_image(Image,ImageScaled,1,20)
min_max_gray(Rectangle2, ImageScaled, 0, Min, Max, Range)
*把灰度值拉昇到0-255
scale_image_max(ImageScaled, ImageScaleMax)
min_max_gray (Rectangle2, ImageScaleMax, 0, Min1, Max1, Range1)


算子釋義:
shape_trans(Region : RegionTrans : Type : )
參數Type的可選項如下:
convex:凸包性
ellipse:與輸入區域有相同的矩和區域的橢圓
outer_circle:最小外接圓
inner_circle:最大內接圓
rectangle1:平行於座標軸的最小外接矩形
rectangle2:最小外接矩形
inner_rectangle1:平行於座標軸的最大內接矩形
inner_rectangle2:輸入區域的骨架點擁有同輸入區域的重心點最小的距離
PS:如果Type是outer_circle,最終的圓形區域不是完全覆蓋輸入區域,因爲內部算法原理
是由算子smallest_circle和gen_circle完成的。由smallest_circle計算的半徑能夠小到1/sqrt(2)-0.5個像素。
同時,由gen_circle生成的圓在雙方向上由0.5個像素轉換。因此,當加入雙方的影響,
原因區域可能要超出返回圓形區域至多1個像素


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章