Akıllı Şekil Tamamlama

Görüntü işleme uygulamaları, olabildiğince net ve düzgün görüntülerle çalışmayı sever. Bizim gibi, görüntü işleme ile endüstriyel ortamlarda çalışanlar, kaliteli ve bir görüntüyü garanti etmek için sistemin kurulumuna aşırı önem gösterirler. Gece/gündüz, yaz-kış, 24 saat çalışacak uygulamalar da alınan her görüntünün yeterli kalitede olması için aydınlatma ve çevre şartlarından izolasyon işlemleri özenle yerine getirilir. Her şeye rağmen, alınan tüm görüntüler beklenen kaliteyi sağlamayabilir.

İşte bu noktada, iyi bir görüntü işleme yazılımından beklentiler yükselir. Yazılım, değişen fotoğraf kalitesinde bile en iyi sonucu verebilmeli. “Akıllı şekil tamamlama”, kenar çizgileri eksik olarak alınmış fotoğrafların, kenar çizgilerini olması gerektiği gibi tamamlayan bir algoritmadır. Bol miktarda uygulama alanı mevcuttur. Örneğin bir önceki makalede, Defne Yapraklarının kalite kontrolünü incelemiştik. Bir yaprağın kenar çizgilerinin düzgün olup olmadığını anlamak için bu algoritma uygulanabilir.

Yaprak resmine benzer bu şekli Paint ile elle çizdim. Sonra kenarlarından bazı yerleri rastgele silerek, bozulma oluşturdum. Amacım bir algoritma ile bu boş yerleri tamamlayabilmek.

HALCON kodu aşağıdaki gibidir.

read_image (Image, 'C:/Users/Mustafa/Desktop/Yaprak.jpg')
edges_sub_pix (Image, Edges, 'canny', 1, 20, 40)
regress_contours_xld(Edges, RegressContours, 'no', 1)
union_collinear_contours_xld (RegressContours, UnionContours, 30, 10, 10, 0.2, 'attr_keep')

 

Bu 3 satırlık basit HALCON kodu çalıştırıldığında,  elde edilecek sonuç :

Soldaki gibidir. Bu çalışma da, contour processing yapılarak eksikliğin tamamlanması gösterilmiştir. close_edges, region_growing, sobel_amp gibi komutlar ve daha ciddi yapılanmalarla, oldukça karmaşık eksiklikler bile düzgün olarak tamamlanabilmektedir.