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)