Bazen alınan görüntüde eksik kalan yerlerin tamamlanması gerekebilir. Aşağıdaki örnek kod, tamamlama işini akıllı bir biçimde yapmaktadır.
Yukarıda görüldüğü gibi parçalar arasındaki boşluk, olabildiğince gerçeğe yakın bir şekilde birleştirilmiştir. Birçok yerde kullanılabilecek olan, prosedürel olarak yazılmış HALCON kodu :
read_image (Image, 'C:/Users/Mustafa/Desktop/aa.png') bin_threshold (Image, Region) connection (Region, ConnectedRegions) CombineSplittedRegions (ConnectedRegions, RegionCount) dev_set_draw ('fill') dev_display(Image) dev_display(RegionCount)
Burada asıl işi yapan CombineSplittedRegions prosedürü ise
count_obj(ConnectedRegions, Number) if (Number > 1) while (Number > 1) select_obj (ConnectedRegions, Obj1, 1) select_obj (ConnectedRegions, Obj2, 2) inner_circle(Obj1, Row, Column, Radius1) inner_circle(Obj2, Row, Column, Radius2) minR := Radius1 if (Radius2 < Radius1) minR := Radius2 endif distance_rr_min(Obj1, Obj2, MinDistance, Row1, Column1, Row2, Column2) gen_region_line (RegionLines, Row1, Column1, Row2, Column2) dilation_circle(RegionLines, RegionDilation, minR) union2(ConnectedRegions, RegionDilation, RegionUnion) union1(RegionUnion, RegionCombine) connection(RegionCombine, ConnectedRegions) count_obj(ConnectedRegions, Number) endwhile else copy_obj(ConnectedRegions, RegionCombine, 1, -1) endif inner_circle(RegionCombine, Row, Column, Radius) rank_region(RegionCombine, RegionCount, Radius, Radius, 50) return ()
programda kullanılan orijinal resim aşağıdadır. Programı denemek için bunu kullanabilirsiniz.
Bu konu hakkında konuşmak için samimi bir girişim yapmak için teşekkür ederiz. Ben bu konuda çok güçlü hissediyorum ve daha fazla bilgi almak istiyorum. Ekstra geniş bilgelik elde Tamam, ek bilgi ile buna benzer ekstra makaleler de dahil olmak üzere akla olabilir? Bu olağanüstü yararlı ve ben ve arkadaşlarım için yararlı olacaktır.