2 – Stereo kamera kalibrasyonu

OpenCV’nin sitesinde bir örnek vardı, buradan bir çeviri yapmıştım ordaki kod tam olarak çıktı vermiyor. Bende Mesut Pişkin’in yazısından faydalanarak anlatmaya çalışacağım.

İlk önce şurdaki Mesut Pişkin’in yazısını okuyunuz.

Stereo kalibrasyonu yapmamız için kameranın karşısında dikilmemiz gerekiyor. Verdiğim linktekki 9×6’lık satranç desenini A4 kağıda yazdırdıktan sonra rahat tutabilecek bi şekilde ya kitabın yada sert bir kartonun bir yüzüne sabitleyin. Daha sonra dosya içerisinde verdiğim stereo.py ile görüntünüzün ön ayarlamalarını yapın ve hazır hale gelin(burdan sonrası için yazıyı okumuş olmanız gerekmektedir). Daha sonra Mesut hocanın şuradaki koduyla stereo kameranın her bir kamerasının kalibrasyonunu yapacağız.  Bu kod doğrudan kamera üzerinden çalışır. Kodu çalıştırıp kalibrasyonu yapmaya başlayabilirsiniz.

Resim çekip kaydedip öyle kalibrasyon yapmak istiyorum derseniz Mesut hocanın kayıtlı resimler için yazılmış yukardaki kodun hemen yanındakini kullanabilirsiniz:

Cv2.Videocapture(number) metodundaki number sayısını kalibre etmek istediğiniz kameranın parametresini gireceksiniz. Mesut hocanın tarifine göre çekimlerimizi yapmaya başlıyoruz. Küçük aralıklarla deseninizin yönünü değiştirinBöylece 10 tane fotoğraf çekecek kalibre edecek ve matrisleri npz uzantılı dosyanın içine kaydedecek.

Mesela benim kullandığım kamerada barrel distortion ve mustache distortion var. Kalibre edildikten sonra en soldaki kısımda no distortion şekline benzer çıkış alırız.

Aşağıda  örnek kötü ve iyi kalibrasyon sonuçları gösterdim. İyi veya iyiye yakın sonuç elde edene kadar uğraşmanız gerekli. Böylece gerçek dünyadaki düz çizgileri kamera bozukluğunu giderdiğimiz için bilgisayarda da düz göreceğiz ve böylece robotik projelerimizde daha kesin sonuçlar elde edeceğiz. Aşağıda örnek sonuçlar verilmiştir, örneklere bakarak sonuç kötü çıktıysa tekrar kalibrasyonunuzu yapabilirsiniz.

Örnek berbat ötesi sonuç:

Örnek güzel sonuç: