OpenCV- Camera Calibration-2
Merhaba Arkadaşlar,
Bu yazımda sizlere buradaki yazıda anlattığım kamera kalibrasyonunun kodunu paylaşıp kodu açıklamaya çalışacağım. Kodu anlatmaya başlamadan önce kullandığım chessboard’u buraya yükleyeceğim. Benim kullandığım chessboard 9×6. Siz başka boyutlarda bir chessbaord kullanabilirsiniz. Ama benden size tavsiye kare yapıda olan bir chessboard ile kalibrasyon yapmak yerin dikdörtgen boyutlardakileri tercih edin.
Devamı...OpenCV- Camera Calibration-1
Merhaba Arkadaşlar,
Sizlere bu yazımda kamera kalibrasyonu hakkında bilgi verip, bunu OpenCV kullanarak nasıl gerçekleştirebileceğimizi göstereceğim. Öncelikle şunu söylemekte fayda var : Kameraların kullanım alanına göre bir çok çeşidi bulunmaktadır. Örneğin daha çok alanı görmek için tasarlanmış(180 derece açı ile görebilen kameralar) kameralar, fish eye dediğimiz görüntüyü kabartılmış gibi gösteren kameralar, düz kameralar(web-cam), odağı ayarlanabilen kameralar vs. Kamera kalibrasyonla ne olacak?
Devamı...OpenCV- Window7 Visual Studio Kurulumu
Merhaba Arkadaşlar,
Sizlere bu yazımda OpenCV 2.1 kütüphanesinin Windows 7 işletim(32-bit) sisteminde Microsoft Visual Studio 2010 ile kullanımını anlatacağım. Bir çok yeni başlayan arkadaşımız OpenCV kütüphanesini ne yazık ki kuramıyor veya kurmakta çok zorluk çekiyor. Öncelikle OpenCV 2.1 bilgisayarınızda yoksa onu buradaki linkten indirin. Burada sıkıştırılmış olarak inen dosyayı bilgisayarınızda bulabileceğiniz bir yere açın. Unutmayın bu dosyaya bir daha dokunmamak için güzel bir yer seçmeniz ve silmemeniz gerekli. Bu aşamadan sonra Windows işletim sistemi kullanıyorsanız, OpenCV’nin dosyala yolunu (bin klasörünü) windows’un sistem değişkenlerine eklemeniz gerekmektedir. Bunun için Denetim Masasına gidin oradan Sistem ve Güvenlik kısmını tıklatın. Daha sonra Sistem‘i tıklayacaksınız. (Aynı işlemi bilgisayarıma girip yukarıdaki menüden sistem özelliklerini tıklayarak ulaşabilirsiniz. ) Buradaki çıkan menüden Gelişmiş Sistem ayarlarını açıyoruz. Gelen pencerede üstteki menülerden gelişmiş sekmesine geliyoruz. Burada sağda en aşağıda ortam değişkenlerini(Environment Variables) göreceksiniz. Buraya tıklatıp Path kısmına geliyoruz. Arkadaşlar bu yaptığımız işlem OpenCV ‘yi kullanabilmeniz için gerekli ve önemli bir işlem. Path’i bulduktan sonra OpenCV’nin içindeki bin dosyasının yolunu (E:/OpenCV…/bin şeklinde) buraya ekliyoruz. Aynı şekilde /lib klasorunun yolunu da göstermenizde fayda var (E:/OpenCV…/lib). Nereye ne koyduğumuzdan emin olmak için aşağıdaki ekran görüntüsünü incelemenizi öneririm.
Devamı...Client – Server
Merhaba arkadaşlar, sizlere bugün ilk başta anlamakta gerçekten zorlandığım fakat sonrasında ne kadar kolaymış dediğim bilgisayar ağları ve ağ programlama derslerinde görülen UDP programlamanın client ve server bilgi alışverişi mantığını anlatacağım.
Devamı...OpenCV-Cropping Image (Resmi Kesme)
Merhaba Arkadaşlar,
Sizlere bu yazımda bir resmi istediğiniz pikselden başlayarak isteğiniz bölümün nasıl alınacağını anlatacağım. Burada kullanacağımız yapılar, önceki yazılarımda olduğu gibi resmin bütün bilgilerini tutan IplImage* yapısı ve bunun bir alt yapısı olan roi (region of interest=ilgilenilen kısım). Bu iki yapının neler olduğunu bilirsek resmi kesme işlemini anlamak çok basittir. ROI ‘den daha fazla bahsedecek olursak, aslında bir dikdörgenin özelliklerini tutmaktadır. Bu yapının içindeki değişkenler x, y, height ve width’dir. Şimdi neden bu değişkenlere bu isimler verilmiş ona bakalım. Öncelikle bir dikdörgen yapısını en kolay nasıl ifade edebiliriz ona bakalım. Geometrik olarak biz dikdörtgenin başlangıç noktasını, yükseklik ve genişliğini bilirsek daha az bilgiyle dikdörtgenin diğer uç noktalarını hesaplayabiliriz (aşağıdaki şekle bakarak daha rahat anlayabilirsiniz). Eğer diktörgenin dört köşenin ayrı ayrı değerlerini tutsaydık her köşe için iki değişken(x,y) tutmak durumumdaydık, yani toplamda 8 değişken olacaktı. En optimal çözüm şekildeki gibi ifade etmektir.
OpenCV-Motion Finder,Kameradan Hareket Algılama
Merhaba Arkadaşlar,
Bu yazımda sizlerle kamerada görüntü algılamanın nasıl yapılacağı hakkında bilgi vereceğim. Aslında yaptığım işlem çok basit, iki resim arasındaki farkı buldurmak. Siz hareket ettiğinizde ekranda sizin görüntünüz belirecek. Kısaca hareket eden her nesneyi bulacak, diğerlerini göstermeyecek.
Kod çok zor anlışacak bir kod değil bu yüzden ne yapıldığını kısaca anlatacağım. 33 milisaniye içinde iki resim karesi alınıyor. Daha sonra bu iki resim arasındaki fark sizin hareketiniz oluyor. Tabi bu direkt olarak gözükmez, bunun için bir kaç filtre kullanmak gerekiyor. Filtreler konusunda ileride Türkçe olarak bir yazı hazırlayacağım. Ama ingilizce problemi olmayanlar için buradaki linke bakabilirler.
Devamı...OpenCV- Resmin Boyutları İle Oynama
Merhaba Arkadaşlar,
Sizlere bu yazımda OpenCV kullanarak bir resmi açıp yeniden boyutlandırma işlemini, sonrasında da resmin belli bir kısmını almayı göstereceğim. Bu neden gerekli? Örneğin resimdeki yüzleri bulmak istiyorsunuz ama resminiz baya büyük. Bu gibi bir durumda büyük resimde çalışan algoritma çok uzun sürecektir. Bu nedenle resmi belli boyutlara getirmek( ve hatta gri resimlerle çalışmak) size hız kazandıracaktır.
Devamı...OpenCV- Video Açma, Kameradan Görüntü Alma
Merhaba Arkadaşlar,
Sizlere bu yazımda OpenCV kütüphanesini kullanarak bir video dosyasını açma ve web-cam’den görüntü alma işlemini gerçekleştiren fonksiyonları anlatıp görüntüyü siyah beyaz olarak göstereceğim. Renkli olarak çıktı görmek isteyenler sadece bir yeri değiştirerek bu işlemi gerçekleştirebilecekler.
Bildiğiniz gibi videolar aslında resimlerin arka arkaya gösterilmesinden ibarettir. Yani bir video içinde saniyede 23 (FPS), 30(FPS)(frame per second) resim bulunabilir. Ilk olarak yapmamız gereken bu resimleri okuyabilmek için IplImage* yapısında bir değişken(ben bu değişkene frame ismini vereceğim).
Videoyu açacağımız yapıyı tutan ise CvCapture*, bunun değişkenine de video diyelim.
Devamı...Veri Yapıları – Graph
Merhaba arkadaşlar, bugün sizlere veri yapıları konumuzun son bölümü olan Graph konusuna kısaca değineceğim.
Devamı...OpenCV – Resim Açma
Merhaba Arkadaşlar,
Sizlere bu yazımda bir resim OpenCV kütüphanesi kullanılarak nasıl açılır ve gri tonlarına nasıl çevrilir onu antlatıp bir kod paylaşacağım. OpenCV gerçekten çok iyi hazırlanmış ve gelişmekte olan C dilinde yazılmış hazır kütüphanedir. Resmi bir kaç türlü açıp gösterebilirsiniz ama en çok kullanılan yapı IplImage* yapısıdır. Birde cvMat yapısında açılabilir. IplImage sadece resim hakkında bilgileri tutar, resmi açmaz. Resmi açmak için cvLoadImage(“resmin_adresi_ve_adi”); fonksiyonunu kullanırız. Bu bize resmi açar ve resim bilgilerini tutan pointer’i döndürür.
