Özellikle üniversiteli arkadaşlarımızın sıklıkla sorduğu görüntü işleme ile bozuk para sayma uygulaması yapılmaktadır. Kısaca farklı miktarlardaki bozuk paraları görüntü işleme yardımı ile sayma işlemini gerçekleştireceğiz.
Bu uygulama için farklı algoritmalar kullanabiliriz.
- Bozuk paralar DeepLearning algoritmaları ile eğitilerek sayma.
- Bozuk paraların üzerindeki karakter okunabilir. Okunan karaktere göre bozuk paralar sayma.
- Bozuk paraların çapları ölçülerek yapay görme yardımıyla bozuk paralar sayma.
Buradaki örnekte kameranın bozuk paralara olan mesafesi sabit tutularak çaplar yardımı ile bozuk para sayma uygulamasını gerçekleştirilmektedir. OpenCV veya başka bir görüntü işleme kütüphanesi kullanarak algoritma aynı şekilde olacaktır. Buradaki aşamalar : Görüntü al , Morfolojik işlemler , Hesaplama işlemleri ve sonuç olarak adlandırılmaktadır.
Halcon Kodları
read_image (Image, ImageFiles[Index])
decompose3(Image, R, G, B)
binary_threshold(B, Region, 'max_separability', 'dark', UsedThreshold)
fill_up(Region, RegionFillUp)
erosion_circle(RegionFillUp, RegionErosion, 140)
connection(RegionErosion, ConnectedRegion)
dilation_circle(ConnectedRegion,RegionDilation, 140)
select_shape(RegionDilation, SelectedRegions, 'area', 'and', 50, 99999)
count_obj(RegionDilation, Number)
Total:=0
for i:=1 to Number by 1
select_obj(RegionDilation, ObjectSelected, i)
inner_circle (ObjectSelected, Row, Column, Radius)
if(195<=Radius and Radius<220)
Total:=Total+1
elseif(168<=Radius and Radius<195)
Total:=Total+0.5
elseif(145<=Radius and Radius<170)
Total:=Total+0.25
endif
endfor
Örnek 2

Farklı bir ortamda tekrardan görüntüler aldığımda sistem üzerinde if /else yapısı içerisindeki değerleri değiştirerek görüntü işleme ile bozuk para sayma işlemi gerçekleşmektedir.








