Pişirici cihazlar üretim fabrikasında demo çalışma için yapmış olduğumuz kontroller
3 adet toprak kontrolü
5 adet toka kontrolü
7 adet soket kontrolü
Soketlere bağlı olan kabloların renk ve rota kontrolleri
Proje temel olarak farklı açılarda gelen parçaların, parçanın referans noktası bulunarak rectife işlemi yapılarak, kontrol edilecek bölgelere yerleştirilmiş olan ROI’ler ile kontrollerini sağlamaktadır.

Soketlere bağlı olan kabloların renk kontrolleri ve kabloların rota bilgileri

İki görsel arasındaki hata soketlere bağlı olan kabloların biri Siyah – Gri diğerinde ise Gri – Siyah olmasıdır.
Halcon Kodları:
distance_rr_min (Obj1, ObjectSelected, MinDistance, Row123, Column123, Row23, Column23)
gen_region_line (RegionLines, Row123, Column123, Row23, Column23)
dilation_circle (RegionLines, RegionDilation113, minR)
union2 (SelectedRegions, RegionDilation113, RegionUnion)
union1 (RegionUnion, RegionCombine)
connection (RegionCombine, ConnectedRegions3)
*
union2 (SelectedRegions4, ConnectedRegions3, RegionUnion1)
union1 (RegionUnion1, RegionUnion2)
connection (RegionUnion2, ConnectedRegions119)
copy_obj (ConnectedRegions119, RegionUnion2, 1, -1)
inner_circle (RegionUnion2, Row1, Column1, Radius11)
rank_region (RegionUnion2, RegionCount, Radius11, Radius11, 30)
*
* ****
*
gen_rectangle1 (Rectangle55, Row-1160, Column-260, Row-1070, Column-100)
reduce_domain (v, Rectangle55, ImageReduced2)
threshold (ImageReduced2, Region16, 0, 60)
erosion_circle (Region16, RegionErosion1, 3)
*
*
union2 (RegionDilation113, RegionErosion1, RegionUnion1)
union1 (RegionUnion1, RegionUnion2)
area_center (RegionUnion2, Area, Row2, Column2)
if (Area>2500)
Results := 1
else
Results := 0
endif

Tokaların varlık yokluk kontrolü yapıldıktan sonra eğer toka var ise, kabloların tokaların içinden geçip geçmediğinin kontrolü örnek görsel
Soket Kontrolleri Halcon Kodları
Results:=0
threshold(ImageReduced2, Region1, 0, 50)
erosion_circle(Region1, RegionErosion, 3.5)
connection(RegionErosion, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions, ['area','rectangularity'], 'and', [302,0.6], [500,1])
area_center(SelectedRegions, Area1, Row1, Column1)
if(Area1<100)
Results:=0
else
Results:=1
gen_rectangle1(Rectangle1, Row1-50, Column1-10, Row1-10, Column1+20)
reduce_domain(h, Rectangle1, ImageReduced3)
endif








