Yalnızca görüntü işleme çalışmalarına örnek olması açısından, 2 göz arası mesafeyi ölçen (puppila mesafesi) basit bir HALCON kodu aşağıda verilmiştir.
Mesafe pixel cinsinden ölçülmektedir. Görüntü alan cihaz (kamera, fotoğraf makinesi vb.) sabit ise, makinanın karşısındaki insanın bulunduğu yer de sabit ise, bu durumda basit bir dönüşüm ile, pixel den milimetreye geçiş yapılabilir. (Uygulama açısından gözlerin gelmesi gereken yere, hassas bir cetvel ya da mesafesi bilinen bir işaret koyarak kaç pixele denk düştüğü bulunabilir)
Şimdi HALCON koduna geçelim :
dev_set_draw('margin') *Ekran fontunu set edelim set_display_font (3600, 12, 'mono', 'true', 'false') *Resmi dosyadan yükleyelim (Normalde kameradan direk alınır) read_image (Image, 'C:/Users/Mustafa/Desktop/m1.jpg') * Resmin ilgilendiğimiz bölgesini (gözlerin bulunduğu yer) belirtelim gen_rectangle1 (ROI_0, 154.969, 72, 206.531, 255.75) reduce_domain (Image, ROI_0, ImageReduced) *koyu renkleri seçelim (göz bebekleri, kirpikler, saçlar vb. threshold (ImageReduced, Regions, 0, 57) closing_circle(Regions, RegionClosing, 3.5) *içinde daire içeren şekilleri seçelim opening_circle(RegionClosing, RegionOpening, 6) connection(RegionOpening, ConnectedRegions) *Belirli bir alandan büyük nesneleri seçelim select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 150, 500) count_obj(SelectedRegions, Number) if (Number = 2) *2 adet göz seçilmiş ise select_obj(SelectedRegions, Goz1, 1) select_obj(SelectedRegions, Goz2, 2) * her bir gözün tam merkezinin koordinatlarını bulalım area_center(Goz1, Area, Row1, Column1) area_center(Goz2, Area, Row2, Column2) *Artık sonuçları ekranda gösterelim dev_display(Image) dev_set_color('blue') dev_display(SelectedRegions) dev_set_color('green') disp_cross(3600, Row1, Column1, 12, 0) disp_cross(3600, Row2, Column2, 12, 0) dev_set_color('red') disp_arrow(3600, Row1 + 30, Column1, Row1 + 30, Column2, 1) disp_arrow(3600, Row1 + 30, Column2, Row1 + 30, Column1, 1) Dist := Column1-Column2 disp_message (3600, Dist + ' px.', 'image', Row2+40, Column2 + 20, 'black', 'false') endif
bu projede kullandığım insan yüzü resimlerini, http://www.uni-regensburg.de/Fakultaeten/phil_Fak_II/Psychologie/Psy_II/beautycheck/english/prototypen/prototypen.htm adresinden aldım.
orijinal resimlere oradan ulaşılabilir.
bu kodu çalıştırabilmek için, HALCON yüklü olmalıdır. En gelişmiş görüntü işleme kütüphanesi olan HALCON hakkında bilgi almak ve ücretsiz tam versiyonu (sınırlı süreli) edinmek için bizimle irtibata geçebilirsiniz.
merabalar
İki Göz Arası Mesafeyi (Pupila mesafesi) ölçen HALCON çalışmanızla alakalı bir kaç sorum olacaktı sizinle nasıl iletişime geçebilirim acaba
Emalı veya telefon ile iletişime geçebilirsiniz.
Mustafa Sari
Mustafa@mavis.com.tr
532 221 0681