OPENCV ile Kamera Kalibrasyonu Eser SERT Deniz TAKIN

OPENCV ile Kamera Kalibrasyonu Eser SERT, Deniz TAŞKIN, Cem TAŞKIN, Nurşen TOPÇUBAŞI, İrfan KÖPRÜCÜ

İçerik Kalibrasyonun Gerekliliği Görüntü Bozulmaları OPENCV ile Kamera Kalibrasyonu

Kalibrasyonun Gerekliliği Kamera kalibrasyonu, dış faktörler dolayısı ile bozulmuş olan görüntünün düzeltilerek görüntü işlemeye hazır hale getirilmesi işlemidir. Kalibre edilmemiş bir kamera ile gerçekleştirilen görüntü işleme ve görüntü analiz aşamaları hata içermektedir.

Kalibrasyonun Gerekliliği Aşağıdaki şekilde kalibre edilmemiş ve kalibre edilmiş kameradan alınan görüntüler verilmiştir. Lens bozukluğuna sahip görüntü Lens bozukluğu giderilmiş görüntü

Görüntü Bozulmaları Radyal Bozulmalar Kamera lensinin oval yapısı dolayısıyla lensin kenarlarından geçen ışınlar kırılmaya uğrarlar.

Görüntü Bozulmaları Yüzeysel Bozulmalar Lensin, resmin düşürüldüğü arka yüzeye paralel olmamasından kaynaklanan bozulmalardır.

OPENCV Open. CV, bir resim ya da video içindeki anlamlı bilgileri çıkarıp işleyebilmek için INTEL tarafından C ve C++ dilleri kullanılarak geliştirilmiş, açık kaynak kodlu bir “Bilgisayarla Görü” kütüphanesidir Open. CV Kütüphanesi gerçek zamanlı uygulamalarda hızlı ve başarılı sonuçlar vermektedir. Farklı bilgisayarlarda ve gömülü sistemlerde çalıştırılabilmesinden dolayı endüstride de kullanımı yaygınlaşmaktadır

OPENCV ile Kalibrasyon işlemi için nitelendirilebilir bir nesne seçilmelidir. Open. CV bu işlem için düzlemsel zeminli nesneler kullanmaktadır. Satranç tahtası bu işlem için idealdir bir nesnedir. Literatürde bazı kalibrasyon metotları üç boyutlu nesneleri kullanmaktadır; fakat iki boyutlu bir satranç tahtası bu işlemi yapmak için çok daha pratiktir.

Kalibrasyon Süreci

Adım– 1 (Satranç Tahtası Resmini Al) Bu adımda kameradan satranç tahtası resimleri alınır. Cv. Capture* capture = cv. Create. Camera. Capture(0); komutu kameradan satranç tahtası resmini almak için kullanılır.

Adım– 1 (Satranç Tahtası Resmini Al) Kalibrasyon süreci boyunda farklı açılardan yeni resimler alınır. Alınacak resimlerin sayısı lens bozukluğunu giderecek sayıda olmalıdır.

Adım -2 (Satranç Tahtası Kesişim Noktalarını Bul) Verilen bir satranç tahtasının görüntüsünde, satranç tahtasının köşelerinin konumları için cv. Find. Chessboard. Corners() Open. CV fonksiyonu kullanılmaktadır.

Adım – 3 (Kesişim Noktalarını Say) Kullanıcıdan alınan parametrelere göre, yeterli sayıda köşenin tespit edilme durumunun test edildiği aşamadır.

Adım – 4 (Satranç Tahtası Köşelerinin Çizimi) cv. Draw. Chessboard. Corners() fonksiyonu resim üzerinde cv. Find. Chessboard. Corners() aracılığıyla bulunan köşeleri çizer. Köşelerin tümü bulunamazsa mevcut köşeler küçük kırmızı hatlarla temsil edilecektir. Tüm desen bulunduğunda köşeler farklı renklerle gösterilmektedir.

Adım – 5 (Kamerayı Kalibre et) Kalibrasyon işlemi yapılacak nesnenin birden çok köşeye sahip olduğu durumlarda cv. Calibrate. Camera 2() fonksiyonu kullanılmaktadır. Kalibrasyon fonksiyonlarının yürütülmesi aşamasında satranç tahtasının görüntüsü üzerinde gerekli parametrik hesaplamalar yürütülmektedir. Open. CV cv. Calibrate. Camera 2 fonksiyonu gerekli işlemleri gerçekleştirerek kalibrasyon için gerekli sayısal değerleri vermektedir. Bu işlem sonunda kameranın gerçek matris değerleri, bozulma katsayısı, dönüş ve çevrim vektörleri üretilmektedir.

Adım – 6 (Düzeltmeyi Uygula) Programın ürettiği düzeltilmiş görüntünün gösterilmesi işlemi bu aşamada yürütmektedir. cv. Show. Image( " Ham resim ", image ) komut satırı ile işlenmemiş görüntü, cv. Show. Image( " Düzeltilmiş ", image ) satırı ile de düzeltilmiş görüntü gibi ekrana getirilmektedir. Ham görüntü Düzeltilmiş Görüntü

Sonuç Bu çalışmada temel düzeyde Open. CV kütüphanesi, kamera modeli, kamera kalibrasyonu konuları açıklanmıştır. Kalibrasyon için 2 D koordinatlara sahip ve özellikleri bilinen satranç tahtası tercih edilmiştir. Open. CV kütüphanesinin sağladığı yardımcı fonksiyonlar kullanılarak, kalibrasyon süreci konusunda bahsedilen işlemler gerçekleştirilmiştir. Bu işlemler sonucunda kalibrasyon parametreleri elde edilmiştir. Bu parametreler ile kamera kullanılarak kaydedilen görüntüler düzeltilmiştir. Düzeltilmiş görüntülerin gerçek dünyadaki nesnelere en yakın düzeyde oldukları görülmektedir.

Kaynaklar Bradski, G. and Kaehler, A. , 2008, “Learning Open. CV: Computer Vision with the Open. CV Library”, O’Reilly Media, Amerika Birleşik Devletleri Erişti, E, 2010, “Görüntü İşlemede Yeni Bir Soluk, OPENCV”, Bilişim 2010, Muğla Open. CV Reference Manuals - High. GUI Reference Manual Taşdemira Ş. , Ürkmez A. , Yakar M. , İnal Ş. , “Sayısal Görüntü Analiz İşleminde Kamera Kalibrasyon Parametrelerinin Belirlenmesi”, 5. Uluslararası İleri Teknolojiler Sempozyumu (IATS’ 09), 13 -15 Mayıs 2009, Karabük, Türkiye

Kaynaklar Wang Y. M. , Li Y. , Zheng J. B. 2010, ”A Camera Calibration Technique Based On Open. CV”, Information Sciences and Interaction Sciences (ICIS), 2010 3 rd International Conference, pp 403406, China Yıldırım K. S. , İnce C. , Kalaycı T. E. , “Görüntü İşleme”, Ege Üniversitesi, 2003 Yu Q. , Cheng H. H. , Cheng W. W. , Zhou X. , “Ch Open. CV for interactive open architecture computer vision”, Advances in Engineering Software 35, pp 527 -536

Teşekkürler ve Sorular
- Slides: 20