halcon 檢測大米個數

read_image (Image, 'rice')
illuminate (Image, ImageIlluminate, 101, 101, 0.7)
invert_image (ImageIlluminate, ImageInvert)
set_window_param (3600, 'background_color', 'black')
binary_threshold (ImageInvert, Region, 'max_separability', 'dark', UsedThreshold)
connection (Region, ConnectedRegions)
count_obj (ConnectedRegions, Number)
area_center (ConnectedRegions, Area, Row, Column)
tuple_max (Area, Max)

disp_image (Image, 3600)
i:=1
MaxArea:=Max*0.6 
for Index := 1 to Number by 1
    select_obj (ConnectedRegions, ObjectSelected, Index)
    area_center (ObjectSelected, SmallArea, Row, Column)
    if (SmallArea <= MaxArea)
        disp_message (3600, i, 'image', Row, Column, 'black', 'false')
        i:=i+1
    else
        opening_circle (ObjectSelected, RegionOpening, 3.5)
        erosion_circle (RegionOpening, RegionErosion, 1.5)
        connection (RegionErosion, ConnectedRegions1)
        count_obj (ConnectedRegions1, Number2)
        for Index1 := 1 to Number2 by 1
            select_obj (ConnectedRegions1, ObjectSelected1, Index1)
            area_center (ObjectSelected1, Area1, Row1, Column1)
            disp_message (3600, i, 'image', Row1, Column1, 'black', 'false')
            i:=i+1
        endfor
    endif
    stop ()
endfor

 

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