AMAÇ Araçlardaki Kamera Sistemleri



Benzer belgeler
Araç Destek Sistemleri İçin Kuş Bakışı Görüntü Dönüşümü. Bird s Eye View Transformation For Vehicle Assistance Systems

Araç Destek Sistemleri İçin Kuş Bakışı Görüntü Dönüşümü. Bird s Eye View Transformation For Vehicle Assistance Systems

GörüntüĐşlemede Yeni Bir Soluk, OpenCV

Görüntü İşlemede Yeni Bir Soluk, OPENCV

Görüntüden OpenCV ile Duygu Analizi

Görüntüden OpenCV ile Duygu Analizi

Bazı Gömülü Sistemlerde OpenCV ile Performans Analizi

OpenCV ile Kamera Kalibrasyonu. Camera Calibration with OpenCV. Eser SERT 1, Deniz TAŞKIN 2, Cem TAŞKIN 3, Nurşen TOPÇUBAŞI 4, İrfan KÖPRÜCÜ 5

Dijital (Sayısal) Fotogrametri

GÖRÜNTÜ İŞLEME - (7.Hafta) KENAR BELİRLEME ALGORİTMALARI

OpenCV ile Kamera Kalibrasyonu

R ile Programlamaya Giriş ve Uygulamalar

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v Mustafa Atanak Sefai Tandoğan Doç. Dr.

Görüntü İşleme. K.Sinan YILDIRIM Cenk İNCE Tahir Emre KALAYCI. Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2003

Yrd. Doç. Dr. Caner ÖZCAN

Android Platformunda OpenCV İle Görüntü İşleme

Görüntü İşleme. Dijital Görüntü Tanımları. Dijital görüntü ise sayısal değerlerden oluşur.

Digital Görüntü Temelleri Görüntü Oluşumu

Bilgisayarla Görüye Giriş

Bilgisayarla Görüye Giriş

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Hafta 1 Sayısal Görüntü İşlemeye Giriş ve Temel Adımlar

KENDĐ KENDĐNE YOL BULAN ARAÇ

Dijital (Sayısal) Fotogrametri

Digital Görüntü Temelleri Görüntü Oluşumu

Koordinat Dönüşümleri (V )

HSancak Nesne Tabanlı Programlama I Ders Notları


MMT 106 Teknik Fotoğrafçılık 3 Digital Görüntüleme

İZDÜŞÜM PRENSİPLERİ 8X M A 0.14 M A C M 0.06 A X 45. M42 X 1.5-6g 0.1 M B M

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Dijital (Sayısal) Fotogrametri

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

GÖRÜNTÜ İŞLEME HAFTA 2 SAYISAL GÖRÜNTÜ TEMELLERİ

AKÜ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ

Bilgisayarla Fotogrametrik Görme

Görüntü Đşlemede Yeni Bir Soluk, OPENCV

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Fonksiyon Optimizasyonunda Genetik Algoritmalar

UYDU GÖRÜNTÜLERİ VE SAYISAL UZAKTAN ALGILAMA

GÖRÜNTÜ İŞLEME HAFTA 4 DÖNÜŞÜMLER UZAYSAL FİLTRELEME

C# nedir,.net Framework nedir?

4.1. Grafik Sihirbazını kullanarak grafik oluşturma

24. Yazdırma ve Plot Alma

Archive Player Divar Series. Kullanım kılavuzu

DEVLET PLANLAMA TEŞKİLATI BİLGİ TOPLUMU DAİRESİ BAŞKANLIĞI. e-yazışma Projesi. Paket Yapısı

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

OpenZeka MARC. Mini Otonom Araç Yarışması

Tanımlar, Geometrik ve Matemetiksel Temeller. Yrd. Doç. Dr. Saygın ABDİKAN Yrd. Doç. Dr. Aycan M. MARANGOZ. JDF329 Fotogrametri I Ders Notu

CEVAP ANAHTARI 1-B 2-C 3-C 4-C 5-B 6-E 7-D 8-E 9-C 10-E 11-E 12-A 13-A 1-A 2-D 3-C 4-D 5-D 6-B 7-D 8-B 9-D 10-E 11-D 12-C

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Zaman Ayarlayıcı İşlemler

Webcam ile Kullanıcıların Sayfa Odaklanma Noktalarının Tespiti. The Determination of Users Focus Points of Through the Webcam

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Bilgisayarla Görme. Final

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ


Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

Kurulum ve Başlangıç Kılavuzu. DataPage için

BİYOMETRİK İRİS SINIFLANDIRMA SİSTEMLERİ

Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

TIBBİ ENSTRUMANTASYON TASARIM VE UYGULAMALARI SAYISAL FİLTRELER

NDEN BELİRLENEBİLME LME POTANSİYELİ UYDU GÖRÜNTÜLERİNDEN

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Dik koordinat sisteminde yatay eksen x ekseni (apsis ekseni), düşey eksen ise y ekseni (ordinat ekseni) dir.

1. Web Sitesine Giriş 1. Giriş Yapmak için tıklayın tıklanır.

Bilgisayarla Görüye Giriş

kişi biri 4 kişilik, üçü ikişer kişilik 4 takıma kaç farklı şekilde ayrılabilir? (3150)

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

MOD419 Görüntü İşleme

Bilgisayarla Görme (EE 430) Ders Detayları

Bilgisayar ne elde eder (görüntüden)? Dijital Görüntü İşleme Fevzi Karslı, KTÜ. 08 Ekim 2013 Salı 51

köşe (vertex) kenar (edg d e)

11. Sunum: İki Kapılı Devreler. Kaynak: Temel Mühendislik Devre Analizi, J. David IRWIN-R. Mark NELMS, Nobel Akademik Yayıncılık

Tanımlar, Geometrik ve Matemetiksel Temeller. Yrd. Doç. Dr. Saygın ABDİKAN Yrd. Doç. Dr. Aycan M. MARANGOZ. JDF329 Fotogrametri I Ders Notu

Ayrık zamanlı sinyaller için de ayrık zamanlı Fourier dönüşümleri kullanılmatadır.

TÜRKİYE CUMHURİYETİ DEVLETİNİN temellerinin atıldığı Çanakkale zaferinin 100. yılı kutlu olsun.

İkili (Binary) Görüntü Analizi

İleri Diferansiyel Denklemler

a) Çıkarma işleminin; eksilen ile çıkanın ters işaretlisinin toplamı anlamına geldiğini kavrar.

ÜNİTE 1: KELİME İŞLEMCİ PROGRAMI

Matlab da 2-boyutlu Grafik Çizimi. Arş. Gör. Mehmet Ali ÜSTÜNER

Algoritma ve Akış Diyagramları

İNS1101 MÜHENDİSLİK ÇİZİMİ. Bingöl Üniversitesi İnşaat Mühendisliği Bölümü 2018

Web tabanlı altyapı sayesinde her cihazdan erişilebilir ve düzenlenebilir dokümanlar oluşturulup anında paylaşılabilir.

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Bilgisayarla Görme. Proje

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ 2018/2019 GYY BİTİRME ÇALIŞMASI ÖNERİ FORMU. (Doç.Dr. M.

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Teknik Doküman. SAYISAL GRAFİK Teknik Doküman. Revit Architecture da mimari projelerde yeni ışık kaynakları yaratılması ve kullanımı

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

İkili (Binary) Görüntü Analizi

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ

Dijibil Kullanım Klavuzu

MOBİL UYGULAMA GELİŞTİRME

SİDRE 2000 ORTAOKULU EĞİTİM-ÖĞRETİM YILI 7. SINIFLAR MATEMATİK DERSİ ÜNİTELENDİRİLMİŞ YILLIK PLAN

CAEeda TM OM6 KANADI MODELLEME. EDA Tasarım Analiz Mühendislik

Transkript:

SUNU PLANI AMAÇ OPEN CV GÖRÜNTÜ EŞİKLEME KENAR BULMA ŞEKİL BULMA GÖRÜNTÜ GENİŞLETME VE BOZMA GÖRÜNTÜ DOLDURMA AFFİNE DÖNÜŞÜMÜ PERSPEKTİF DÖNÜŞÜM KUŞ BAKIŞI GÖRÜNTÜ DÖNÜŞÜMÜ

AMAÇ Araçlardaki Kamera Sistemleri

OPENCV OpenCV, 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örme kütüphanesidir. Intel in görüntü işleme laboratuarlarında geliştirilen ve hız açısından optimize edilen OpenCV kütüphanesi, gerçek zamanlı uygulamalar hedef alınarak geliştirilmiştir. Akademik ve ticari kullanımı ücretsiz olan OpenCV, Windows, Linux, MacOS X gibi farklı platformlarda kullanılabilir.

OpenCV Bileşenleri CV (Computer Vision) Temel resim işleme fonksiyonları ve Bilgisayarla Görü/Görme için kullanılan yüksek seviyeli algoritmaları bünyesinde barındıran beş temel kütüphaneden biridir. MLL (Machine Learning Library) Makine Öğrenmesi dalı için gerekli istatistiksel verilere ulaşmak, mevcut verileri sınıflandırmak için kullanılan fonksiyonları içeren diğer bir kütüphanedir. HighGUI Slider, form gibi OpenCV kütüphanesi içerisinde tanımlanmış pek çok nesneyi yaratabilmemizi sağlayan bir grafik arabirimi olmakla beraber, resim ve videoları kaydetmek, yüklemek, hafızadan silmek için gerekli giriş/çıkış (I/O) fonksiyonlarını da içerir.

OpenCV Bileşenleri CXCore OpenCV ye ait IplImage, cvpoint, cvsize, cvmat, cvhistogram vs. gibi veri yapılarını bünyesinde barındıran ve XML desteği de sağlayan bir kütüphanedir. CvAux Şablon eşleştirme, şekil eşleştirme, bir objenin ana hatlarını bulma, yüz tanıma, ağız hareketleri izleme, vücut hareketlerini tanıma ve kamera kalibrasyonu gibi daha pek çok deneysel algoritmaları bünyesinde barındıran kütüphanedir.

Görüntü Eşikleme (Image Thresholding) Bu fonksiyon genellikle gri tonlu bir görüntüden, ikili görüntü oluşturmak için kullanılır. Renkli görüntülerle de kullanılabilir. Kaynak görüntünün piksel değerlerini çok büyük ya da çok küçük değerlere filtreler. Çoğunlukla görüntülerdeki gürültüyü kaldırmak için kullanılır. Birçok threshold tipi mevcuttur: 1-Binary Tip 2-Binary Inverted Tip 3-To Zero Tip 4-To Zero Inverted Tip 5-Truncate Tip

Görüntü Eşikleme (Image Thresholding) 1- Binary Tip ve Çalışma Mantığı 2- Binary Inverted Tip ve Çalışma Mantığı 3- To Zero Tip ve Çalışma Mantığı 4- To Zero Inverted Tip ve Çalışma Mantığı 5- Truncate Tip ve Çalışma Mantığı

Görüntü Eşikleme (Image Thresholding)

Kenar Bulma (Edge Detection) Bir kaynak görüntünün kenarlarını bulmak için kullanılan 3 yöntemden bahsedilebilir: 1-Canny Yöntemi 2-Sober Yöntemi 3-Laplace Yöntemi Örneğin Canny yönteminde, görüntünün kenarları bulunur, işaretlenir ve Canny algoritması kullanılarak çıktı görüntüde gösterilir. 2 adet eşik değerini parametre olarak alır. Bunlardan büyük olanı görüntüdeki en büyük kenarın başlangıç bölümünü bulmak için kullanılır. Küçük olanı ise bu eşik değerleri arasında kalan kenarlar arasında bağlantı kurmak için kullanılır.

Kenar Bulma (Edge Detection)

Şekil Bulma (Contour Detection) Herhangi bir nesnenin görüntüsünden yola çıkarak şeklini bulan opencv fonksiyonudur. Aşağıdaki adımlardan oluşur. Renkli görüntü önce gri tonlu görüntüye dönüştürülür. Cv.Canny() fonksiyonu ile görüntünün kenar bilgisine ulaşılır. Cv.Canny() çıktısı, Cv.FindContours() metodunda parametre olarak kullanılarak, görüntünün şekil hatları (contours) bulunur. Son olarak Cv.DrawContours() metodu ile bulunan hatlar istenilen renkte gösterilir (kırmızı, yeşil, mavi)

Şekil Bulma (Contour Detection)

Görüntü Genişletme ve Bozma Belirli bir yapı elemanı kullanarak Cv.Dilate() fonksiyonu ile bir görüntüyü genişletmek/büyütmek mümkündür. Yapı elemanı tanımlanmadığında, 3x3 lük dikdörtgen biçiminde bir yapı elemanı varsayılan olarak kullanılır. Genişletme işlemi birden fazla tekrarda yapılabilir. Renkli görüntüler için her renk kanalı bağımsız olarak işlenir. Görüntü bozma/aşındırma işlemi için ise Cv.Erode() fonksiyonu yine belirli/belirtilen bir yapı elemanı ile kullanılır. Tekrar sayısı ve yapı elemanının tanımlanmaması durumları görüntü genişletmedekiyle aynıdır.

Görüntü Genişletme ve Bozma

Görüntü Doldurma Herhangi bir görüntü Opencv nin doldurma fonksiyonu ile istenilen renkte doldurulabilir. Doldurma işleminin başlatılacağı piksel fonksiyona verilen parametre ile belirlenebilir. Doldurma işlemi fonksiyona verilen sınırlara göre yapılır.

Geometrik Görüntü Dönüşümleri Bir görüntüyü genişletebilen, daraltabilen, eğebilen ve döndürebilen fonksiyonlara geometrik fonksiyonlar denir. Görüntüler üzerinde geometrik dönüşümler çeşitli sebeplerle yapılabilir. Örneğin bir görüntüyü eğme veya döndürme uygulamaları sayesinde mevcut bir duvar üzerine görüntüler üst üste yerleştirilebilir. Ayrıca nesne tanıma uygulamaları için kullanılan görüntülerin eğitim setleri yapay olarak genişletilebilir.

Geometrik Görüntü Dönüşümleri Geometrik dönüşümler sonucunda görüntü içeriği değişmez, ancak piksel grid lerinin biçimleri bozulur. Düzlemsel olarak 2 çeşit geometrik dönüşüm türü vardır. 1- Affine Dönüşümü 2- Perspektif Dönüşüm

Affine Dönüşümü Özellikleri ve Avantajları Affine dönüşümünde 2x3 lük haritalama (eğme) matrisini temel alınır. Bu dönüşüm ile bir dikdörtgen bir paralelkenara çevirilebilir. Bunu yaparken kaynak görüntünün köşelerini itme ve çekme işlemlerini gerçekleştirmektedir. Ayrıca görüntüyü döndürme ve yeniden ölçeklendirme gibi özelliklere de sahiptir. Bu dönüşümde görüntünün şekli değişir ancak kenarları paralel kalır. Elimizde aynı nesnenin birkaç farklı görüntüsü mevcut olduğunda, bu farklı görünümlere sebep olan dönüşümleri hesaplamak istediğimizde affine dönüşümünü kullanabiliriz. Diğer dönüşüm türü olan Perspektif dönüşüme göre daha az parametreye sahip olduğundan ve daha kolay çözüm sunduğundan dolayı daha çok tercih edilir.

Affine Dönüşümü Aşamaları Affine dönüşümü için gerekli parametreler eğme matrisi ve döndürme matrisidir. Eğme matrisinin belirlenebilmesi için kaynak ve hedef görüntünün 3 köşe noktasının aşağıdaki gibi 3 elemanlı dizilere aktarılması gerekmektedir. Bu 2 dizi 2 adet paralel kenarı tanımlamaktadır. Cv.GetAffineTransform( srctri, dsttri, warp_mat ) fonksiyonu ile bu diziler kullanılarak eğme matrisi (warp_mat) elde edilir. Cv.2DRotationMatrix( center, angle, scale, rot_mat ) fonksiyonu ile de döndürme matrisi (rot_mat) elde edilir.

Affine Dönüşüm Aşamaları Cv.2DRotationMatrix( center, angle, scale, rot_mat ) İlk parametre döndürme noktasının merkezini belirtmektedir. Genellikle kaynak görüntünün orta noktası olarak ayarlanır. Sonraki parametreler ise sırasıyla döndürme büyüklüğü ve yeniden ölçeklendirme büyüklüğüdür. Son parametre ise elde etmek istediğimiz 2x3 lük döndürme matrisidir. Eğer α = scale cos(angle) ve β = scale sin(angle) şeklinde tanımlarsak döndürme matrisi aşağıdaki gibi hesaplanır.

Affine Dönüşümü-Sonuç Tüm bu matrisler belirlendikten sonra ilk Affine dönüşüm işlemi eğme matrisi ile yapılır. Aynı dönüşüm bir kez döndürme matrisi ile yapılır. Sonuç olarak elde edilen çıktı görüntü aşağıdaki gibidir

Perspektif Dönüşüm Perspektif dönüşüm 3x3 lük bir haritalama (eğme) matrisini temel alır. Bu dönüşüm türü ile bir dikdörtgen, eşkenar dörtgene veya yamuğa dönüştürülebilir. Bunun dışındaki tüm özellikler affine matrisi ile aynıdır. Bu dönüşümde, affine dönüşümünden farklı olarak, eğme matrisinin belirlenebilmesi için kaynak ve hedef görüntünün 4 köşe noktasının 4 elemanlı src ve dst dizilerine aktarılması gerekmektedir. Kaynak ve hedef görüntünün köşe noktaları bu dizilere aktarıldıktan sonra ilgili fonksiyon yardımıyla haritalama (eğme) matrisi elde edilir.

Perspektif Dönüşüm Eğme matrisi elde edildikten sonra Perspektif dönüşüm işlemi gerçekleştirilir. Perspektif dönüşümde döndürme matrisi kullanılmaz. Bu nedenle elde edilen görüntü döndürülmüş görüntü değil eşkenar dörtgene çevrilmiş görüntüdür. Elde edilen sonuçlar aşağıdaki gibidir.

Affine-Perspektif Dönüşüm

Kuş Bakışı Görüntü Dönüşümü Kuş bakışı görüntü dönüşümü yatay eksende kaydedilen görüntüleri tepeden (yukarıdan aşağıya) çekilmiş gibi gösterebilen bir dönüşüm türüdür. Algoritması: 1- Görüntüde dönüşüm yapılacak 4 nokta belirlenir. 2- Bu noktalar kullanılarak haritalama (dönüşüm) matrisi elde edilir. 3- Elde edilen dönüşüm matrisi kullanılarak perspektif dönüşüm gerçekleştirilir. 4-Sonuç olarak elde edilen görüntü kuş bakışı görüntüdür.

Kuş Bakışı Görüntü Dönüşüm Yazılımı Kuş bakışı dönüşüm yazılımını gerçekleştirmek için kullanılacak fonksiyonlar OpenCV kütüphanesinde mevcuttur. Geliştirilen program C Sharp ile yazıldığından, OpenCV ile C Sharp arasında haberleşmeyi sağlayan EmguCV kütüphanesi kullanılmıştır. Program her aşamada kullanıcıları yönlendirerek doğru sonuca gitmeyi sağlamaktadır. Programda kullanıcıdan resim dosyası yüklemesini ve ardından yüklenen resim dosyasından 4 adet nokta seçmesini istemektedir. Seçim işlemi tamamlandıktan sonra kuş bakışı dönüşümü butonuna basıldığında, belirtilen noktalar arasında kalan görüntü bölümünün dönüşüm sonucu gösterilmektedir.

Kuş Bakışı Görüntü Dönüşüm Yazılımı

Kuş Bakışı Görüntü Dönüşüm Yazılımı