Kameralı Sayma Sistemleri – Devam

Dünden beri, umreden bana gelen tesbihimle oynuyorum. Görüntü işlemecinin olmazsa olmazıymış meğer. Bu tesbihin tanelerini sayan bir uygulama yapalım.

(Yukarıdaki fotoğrafa tıklayıp, 1024 x 768 boyutlarında indirebilirsiniz)

read_image (Tesbih, 'C:/Users/Mavis/Desktop/T2-1024x768.jpg')
dev_close_window()
dev_open_window_fit_image(Tesbih, 0, 0, 600, 300, WindowHandle)
set_display_font(WindowHandle, 16, 'mono', 'true', 'false')
decompose3(Tesbih, R, G, B)
*siyah kisimlari secelim
var_threshold(G, Region, 75, 75, 0.2, 2, 'dark')
opening_circle(Region, RegionOpening, 1.5)
connection(RegionOpening, ConnectedRegions)
select_shape_std(ConnectedRegions, SelectedRegions, 'max_area', 70)
fill_up_shape(SelectedRegions, RegionFillUp, 'area', 1, 1000)
* imameyi eleyelim
fill_up(RegionFillUp, RegionFillUp1)
opening_circle(RegionFillUp1, RegionOpening1, 60)
dilation_circle(RegionOpening1, RegionDilation, 35)
intersection(RegionDilation, RegionFillUp, RegionIntersection)
* her bir boncugu secelim
closing_circle(RegionIntersection, RegionClosing, 4.5)
opening_circle(RegionClosing, RegionOpening, 12)
erosion_circle(RegionOpening, RegionErosion1, 14)
* sayalim
connection(RegionErosion1, ConnectedRegions1)
select_shape(ConnectedRegions1, SelectedRegions1, 'area', 'and', 10, 99999)
count_obj(SelectedRegions1, Number)
Radius[0:Number-1] := 12
area_center(SelectedRegions1, Area, Row, Column)
gen_circle(Circle, Row, Column, Radius)
dev_display(Tesbih)
dev_display(Circle)
disp_message(WindowHandle, 'Tesbih ' + Number + ' lük' , 'image', 12, 12, 'dark green', 'true')


Uygulamamızı çalıştırdığımızda elde edeceğimiz ekran görüntüsü :