Halcon算子

Halcon部分算子功能:

*讀取一張圖像
read_image(Image,'C:/Users/Desktop/無標題.png')
*畫一個矩形生成區域
draw_rectangle1(3600, Row1, Column1, Row2, Column2)
*獲得矩形區域
gen_rectangle1(Rectangle, Row1, Column1, Row2, Column2)
*區域內最大、最小、最大-最小灰度值
min_max_gray(Rectangle, Image, 0, Min, Max, Range)
*獲得特定區域位置的圖像,但不改變原圖像的大小
reduce_domain(Image, Rectangle, ImageReduced)
get_image_size(ImageReduced, Width, Height)
get_image_size(Image,Width1, Height1)
*對區域進行剪裁,將有值的區域以最小外界正矩形的方式返回,而剪掉那些沒有值的區域。
crop_domain(ImageReduced, ImagePart)
*消除噪聲,均值平滑
mean_image(ImageReduced, ImageMean, 9, 9)
*動態閾值分割
*原圖、參考圖、輸出、鄰域比較的區間範圍、light提取相對參考圖更亮的區域|dark|equal選取和參考圖差不多的區域
dyn_threshold(ImageReduced, ImageMean, RegionDynThresh, 5, 'light')
*區域連通,可將閾值分割的不相連的區域分割成單個區域
connection(RegionDynThresh, ConnectedRegions)
*區域篩選,根據特徵進行,最常用的是根據面積篩選
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 2500, 99999)
*區域聯合,將幾個區域合併爲一個區域
union1(SelectedRegions, RegionUnion)
*將一張圖像上的一個區域內的像素改爲指定的灰度
*ps:如果報錯,可檢查輸入圖像是否帶有其他格式,可使用rgb1_to_gray (Image, Image)算子
paint_region(Rectangle, Image, ImageResult, 255.0, 'fill')
*填充區域
fill_up_shape(RegionDynThresh, RegionFillUp, 'area', 1, 1000000)
*區域面積和中心,區域中心的行列座標爲區域內所有點橫縱座標的平均值
*ps:與採用區域最小外接矩形得出的中心點座標有差異
area_center(RegionFillUp, Area, Row, Column)
*腐蝕,使用圓形結構腐蝕
erosion_circle(RegionFillUp,RegionErosion, 19.5)
*腐蝕,使用矩形結構腐蝕
erosion_rectangle1(RegionFillUp,RegionErosion1, 21, 21)
*膨脹,使用圓形結構膨脹
*ps:不是說將一個區域先腐蝕再膨脹,就能恢復到原始圖像的
opening_circle(RegionFillUp,RegionOpening,19.5)
*膨脹,使用矩形結構膨脹
opening_rectangle1(RegionFillUp,RegionOpening1, 25, 25)
*計算兩個區域的差異,本算子實現是區域1-區域2,如果區域1<區域2,則結果爲空
difference(RegionOpening,RegionErosion,RegionDifference)


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