791. Linux Kullanıcıları Derneği Üyesi



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

AMAÇ Araçlardaki Kamera Sistemleri

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

Final Sınavı Soruları Bahar 2018

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

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

Stack Islemleri. Postfix ve Infix notasyonlari. Stack ozellikleri

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı Ver:01

Multicore/Multithread Programlama

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Fall Object-Oriented Programming Laboratory 03

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

1 PROGRAMLAMAYA GİRİŞ

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

Sınav tarihi : Süre : 60 dak.

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

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

/* Çember alanını hesaplar */

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

8. İŞARETCİLER (POINTERS)

Object-Oriented Programming Laboratuvar 11

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Görüntüden OpenCV ile Duygu Analizi

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

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi

Görüntüden OpenCV ile Duygu Analizi

Qt ile Bir Ağ Uygulaması

C++ Dersi: Nesne Tabanlı Programlama

Teknikleri. Önsöz. iskender atasoy

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

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

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

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

10/17/2007 Nesneye Yonelik Programlama 3.1

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

OpenCV ile Kamera Kalibrasyonu

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

C++ Dersi: Nesne Tabanlı Programlama

QT Eğitimi - 4 : İkili Saat (Binary Clock)

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

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

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

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

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

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

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

Adı Soyadı : Öğrenci No :

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

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

Bölüm 2 - C ile Programlamaya Giriş

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

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

Bilgisayarla Görme (EE 430) Ders Detayları

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

BİLG Dr. Mustafa T. Babagil 1

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

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Week 6: Bağlı Liste (Linked List) BAĞLI LİSTE KAVRAMI TEKİL (SINGLE) BAĞLI LİSTE ÇİFT (DOUBLE) BAĞLI LİSTE DAİRESEL (CIRCULAR) BAĞLI LİSTE

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

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

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Bilgisayar Programlama. 1.Hafta

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Demodülasyon Algoritmaları İçin En İyilenmiş Windows İşletim Sistemi Uygulamaları

C++ Dersi: Nesne Tabanlı Programlama

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

ÖZEL EGE LİSESİ EGE BÖLGESİ OKULLAR ARASI MATEMATİK YARIŞMASI 1.AŞAMA KONU KAPSAMI

Büyük Veri ve Endüstri Mühendisliği

Adım Adım C-II. Eksik kalmış konular

Bilgisayarla Fotogrametrik Görme

BÖLÜM 11: YAPISAL VERİ TİPLERİ

Yrd. Doç. Dr. Caner ÖZCAN

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Hafta 12 Karakter Tutan Diziler

KONTROL VE OTOMASYON KULÜBÜ

EĞİTİMDE BİLGİSAYAR PROGRAMLAMA

const objects & const member functions

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Bigisayar Programlama

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

Çok Şekillilik (Polymorphism)

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Hafta 13 Fonksiyonlar

Transkript:

O p e n C V i l e B i l g i s a y a r l a G ö r m e

O p e n C V i l e B i l g i s a y a r l ı G ö r m e İsmet YALABIK 791. Linux Kullanıcıları Derneği Üyesi Araştırma Görevlisi Görüntü İşleme ve Örüntü Tanıma Laboratuvarı Bilgisayar Mühendisliği Bölümü Orta Doğu Teknik Üniversitesi e-mail: ismet@ceng.metu.edu.tr web: http://www.ceng.metu.edu.tr/~ismet 2

B i l g i s a y a r l ı G ö r m e N e d i r? Göz-Beyin İlişkisi Görme, Tanıma, Algılama Görüntünün Algılanması Nesnelerin Ayrıştırılması Nesnelerin Tanınması Nesnelerin Eşleştirilmesi 3

O p e n C V N e d i r? İlgili alanlardaki araştırma ve geliştirmeyi desteklemek için evrensel bir araç kutusu oluşturmak Bilgisayarla Görme İnsan-Bilgisayar Etkileşimi Robot Bilimi Biyoenformatik Güvenlik Görüntüleme 4

O p e n C V ' n i n A n a h t a r Ö z e l l i k l e r i Cross-platform Orta ile ileri seviyeli API 350'den fazla C fonksiyonu Birkaç C++ sınıfı Phyton eklentileri Çok az kütüphane bağımlılığı IPP(Intel Performance Primitives) desteği 5

O p e n C V T a r i h ç e s i Başlangıç: 2000, intel sourceforge.net'e geçiş CVPR-2001 Stanley aracının anahtar kütüphanesi (2M $lık darpa yarışı birincisi) 6

O p e n C V K ü t ü p h a n e s i A n a Y a p ı s ı Temel Yapılar Nokta Dikdörtgen Ölçüt Matris Görüntü Ayrık Matris 7

O p e n C V : T e m e l Y a p ı l a r typedef struct CvPoint { int x; /* x-coordinate, usually zero-based */ int y; /* y-coordinate, usually zero-based */ } CvPoint; typedef struct CvRect { int x; /* x-coordinate of the left-most rectangle corner[s] */ int y; /* y-coordinate of the top-most or bottom-most rectangle corner[s] */ int width; /* width of the rectangle */ int height; /* height of the rectangle */ } CvRect; 8

O p e n C V : T e m e l Y a p ı l a r typedef struct _IplImage { int nsize; /* sizeof(iplimage) */ int ID; /* version (=0)*/ int nchannels; /* Most of OpenCV functions support 1,2,3 or 4 channels */ int alphachannel; /* ignored by OpenCV */ int depth; /* pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U, IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F are supported */ char colormodel[4]; /* ignored by OpenCV */ char channelseq[4]; /* ditto */ int dataorder; /* 0 - interleaved color channels, 1 - separate color channels. cvcreateimage can only create interleaved images */ int origin; /* 0 - top-left origin, 1 - bottom-left origin (Windows bitmaps style) */ int align; /* Alignment of image rows (4 or 8). OpenCV ignores it and uses widthstep instead */ int width; /* image width in pixels */ int height; /* image height in pixels */ struct _IplROI *roi; /* image ROI. when it is not NULL, this specifies image region to process */ struct _IplImage *maskroi; /* must be NULL in OpenCV */ void *imageid; /* ditto */ struct _IplTileInfo *tileinfo;/* ditto */ int imagesize; /* image data size in bytes (=image->height*image->widthstep in case of interleaved data)*/ char *imagedata; /* pointer to aligned image data */ int widthstep; /* size of aligned image row in bytes */ int BorderMode[4]; /* border completion mode, ignored by OpenCV */ int BorderConst[4]; /* ditto */ char *imagedataorigin; /* pointer to a very origin of image data (not necessarily aligned) - it is needed for correct image deallocation */ } IplImage; 9

O p e n C V : T e m e l O p e r a s y o n l a r Aritmetik, Mantık ve Karşılaştırmalar Matris Aritmetiği, Mantık İşlemeleri İstatistik Permütasyonlar ve Dönüşümler Ayırma, Çevirme, Tekrarlama Lineer Cebir Normalizasyon, Çapraz Çarpım, Ters Rastgele Sayı Üreticisi 10

O p e n C V : T e m e l V e r i Y a p ı l a r ı Hafıza depoları Sekanslar Kümeler Çizgeler Ağaçlar 11

O p e n C V : T e m e l V e r i Y a p ı l a r ı #define CV_SEQUENCE_FIELDS() \ int flags; /* micsellaneous flags */ \ int header_size; /* size of sequence header */ \ struct CvSeq* h_prev; /* previous sequence */ \ struct CvSeq* h_next; /* next sequence */ \ struct CvSeq* v_prev; /* 2nd previous sequence */ \ struct CvSeq* v_next; /* 2nd next sequence */ \ int total; /* total number of elements */ \ int elem_size; /* size of sequence element in bytes */ \ char* block_max; /* maximal bound of the last block */ \ char* ptr; /* current write pointer */ \ int delta_elems; /* how many elements allocated when the sequence grows (sequence granularity) */ \ CvMemStorage* storage; /* where the seq is stored */ \ CvSeqBlock* free_blocks; /* free blocks list */ \ CvSeqBlock* first; /* pointer to the first sequence block */ typedef struct CvSeq { CV_SEQUENCE_FIELDS() } CvSeq; 12

O p e n C V : K a l a n A n a F o n k y o n l a r Eğri ve Şekil Çizme Fonksiyonları Metin Yazma Fonksiyonları Dosya Depoları, okuma/yazma Hata kontrolü Hafıza Yönetimi ve sistem çağrıları 13

O p e n C V : Ş e k i l Ç i z m e Şekil, Çizgi, Metin Uygulaması uygulama-1 (edge) 14

O p e n C V : G ö r ü n t ü İ ş l e m e Kenar, Köşe İşlemleri İnterpolasyon, Geometrik Transformasyon Morfolojik İşlemler Filtreler ve Renk Dönüşümleri Görüntü Bölütleme Özel Görüntü Dönüşümleri Histogram Eşleştirme 15

O p e n C V : K e n a r l a r, K ö ş e l e r Sobel Filtresi Laplace Filtresi Canny Kenar Yöntemi Harris Köşe Yöntemi Minimum Eigen Değeri Yöntemi 16

O p e n C V : C a n n y K e n a r B u l m a Canny Kenar Bulma Uygulaması uygulama-2 (edge) 17

O p e n C V : I n t e r p o l a s y o n v e G e o m e t r i k D ö n ü ş ü m l e r Büyütme, küçültme Affine Dönüşümler Rotasyon Logpolar Double-click to add graphics 18

O p e n C V : M o r f o l o j i k İ ş l e m l e r Erode Dilate Yapısal Elemanın Oluşturulması Gelişmiş Morfolojik Dönüşümler 19

O p e n C V : M o r f o l o j i k İ ş l e m l e r Morfoloji Uygulaması uygulama-3 (morphology) 20

O p e n C V : F i l t r e l e r v e R e n k D ö n ü ş ü m l e r i Düzleştirme Konvolüsyon Filtreleri İntegral Görüntü Eşik Uygulama Renk Uzayı Dönüşümleri 21

O p e n C V : P i r a m i t l e r Piramit Bölütleme Uygulaması uygulama-4 (pyramid_segmentation) 22

O p e n C V : G ö r ü n t ü B ö l ü t l e m e FloodFill, Birleşik Bileşenleri Bulma 23

O p e n C V : G ö r ü n t ü B ö l ü t l e m e Birleşik Bileşenler Uygulaması uygulama-5 (contours) 24

O p e n C V : G ö r ü n t ü B ö l ü t l e m e Watershed Uygulaması uygulama-6 (watershed) 25

O p e n C V : Ö z e l G ö r ü n t ü D ö n ü ş ü m l e r i Hough Çizgi Dönüşümleri Mesafe Dönüşümleri 26

O p e n C V : Ö z e l G ö r ü n t ü D ö n ü ş ü m l e r i Hough Çizgi Dönüşümü Uygulaması uygulama-7 (houghlines) 27

O p e n C V : Ö z e l G ö r ü n t ü D ö n ü ş ü m l e r i Laplace Dönüşümü Uygulaması uygulama-8 (laplace) 28

O p e n C V : H i s t o g r a m Histogram Uygulaması uygulama-9 (demhist) 29

O p e n C V : H i s t o g r a m cvlut( src_image, dst_image, lut_mat ); cvshowimage( "image", dst_image ); cvcalchist( &dst_image, hist, 0, NULL ); cvzero( dst_image ); cvgetminmaxhistvalue( hist, 0, &max_value, 0, 0 ); cvscale( hist->bins, hist->bins, ((double)hist_image- >height)/max_value, 0 ); /*cvnormalizehist( hist, 1000 );*/ cvset( hist_image, cvscalarall(255), 0 ); bin_w = cvround((double)hist_image->width/hist_size); for( i = 0; i < hist_size; i++ ) cvrectangle( hist_image, cvpoint(i*bin_w, hist_image->height), cvpoint((i+1)*bin_w, hist_image->height - cvround(cvgetreal1d(hist->bins,i))), cvscalarall(0), -1, 8, 0 ); cvshowimage( "histogram", hist_image ); } int main( int argc, char** argv ) { // Load the source image. HighGUI use. src_image = cvloadimage( argc == 2? argv[1] : file_name, 0 ); dst_image = cvcloneimage(src_image); hist_image = cvcreateimage(cvsize(320,200), 8, 1); hist = cvcreatehist(1, &hist_size, CV_HIST_ARRAY, ranges, 1); lut_mat = cvcreatematheader( 1, 256, CV_8UC1 ); cvsetdata( lut_mat, lut, 0 ); cvnamedwindow("image", 0); cvnamedwindow("histogram", 0); cvcreatetrackbar("brightness", "image", &_brightness, 200, update_brightcont); cvcreatetrackbar("contrast", "image", &_contrast, 200, update_brightcont); update_brightcont(0); cvwaitkey(0); cvreleaseimage(&src_image); cvreleaseimage(&dst_image); cvreleasehist(&hist); if(!src_image ) { printf("image was not loaded.\n"); return -1; } 30 } return 0; #ifdef _EiC main(1,"demhist.c"); #endif

O p e n C V : H i s t o g r a m #ifdef _CH_ #pragma package <opencv> #endif #ifndef _EiC #include "cv.h" #include "highgui.h" #include <stdio.h> #endif char file_name[] = "baboon.jpg"; int _brightness = 100; int _contrast = 100; int hist_size = 64; float range_0[]={0,256}; float* ranges[] = { range_0 }; IplImage *src_image = 0, *dst_image = 0, *hist_image = 0; CvHistogram *hist; uchar lut[256]; CvMat* lut_mat; /* brightness/contrast callback function */ void update_brightcont( int arg ) { int brightness = _brightness - 100; int contrast = _contrast - 100; int i, bin_w; float max_value = 0; 31 if( contrast > 0 ) { double delta = 127.*contrast/100; double a = 255./(255. - delta*2); double b = a*(brightness - delta); for( i = 0; i < 256; i++ ) { int v = cvround(a*i + b); if( v < 0 ) v = 0; if( v > 255 ) v = 255; lut[i] = (uchar)v; } } else { double delta = -128.*contrast/100; double a = (256.-delta*2)/255.; double b = a*brightness + delta; for( i = 0; i < 256; i++ ) { int v = cvround(a*i + b); if( v < 0 ) v = 0; if( v > 255 ) v = 255; lut[i] = (uchar)v; } }

O p e n C V : Y a p ı s a l A n a l i z Kontur İşleme Kontur alanı, çizgi uzunluğu, kontur ağaçları İşlemsel Geometri İki kareyi kapsayan en küçük kare Elips oturtma, çizgi oturtma convexhull Düzlemsel Alt Bölümlemeler Voronin Diyagramları 32

O p e n C V : Y a p ı s a l A n a l i z Convexhull Uygulaması uygulama-10 (convexhull) 33

O p e n C V : H a r e k e t A n a l i z i, N e s n e İ z l e m e Arka Plan İstatistiklerinin Toplanması Hareket Şablonları Nesne İzleme Optik Akış Tahmin Ediciler 34

O p e n C V : H a r e k e t A n a l i z i, N e s n e İ z l e m e Nesne İzleme Uygulaması uygulama-11 (camshiftdemo) 35

O p e n C V : Ö r ü n t ü T a n ı m a Nesne Tanıma Nesne Tanımaya Yönelik Basit Haar Özniteliklerinin Çıkarılması Yüz Bulma Uygulaması 36

O p e n C V : Y ü z B u l m a #include "cv.h" #include "highgui.h" CvHaarClassifierCascade* load_object_detector( const char* cascade_path ) { return (CvHaarClassifierCascade*)cvLoad( cascade_path ); } void detect_and_draw_objects( IplImage* image, CvHaarClassifierCascade* cascade, int do_pyramids ) { IplImage* small_image = image; CvMemStorage* storage = cvcreatememstorage(0); CvSeq* faces; int i, scale = 1; /* if the flag is specified, down-scale the input image to get a performance boost w/o loosing quality (perhaps) */ if( do_pyramids ) { small_image = cvcreateimage( cvsize(image->width/2,image->height/2), IPL_DEPTH_8U, 3 ); cvpyrdown( image, small_image, CV_GAUSSIAN_5x5 ); scale = 2; } /* use the fastest variant */ faces = cvhaardetectobjects( small_image, cascade, storage, 1.2, 2, CV_HAAR_DO_CANNY_PRUNING ); /* draw all the rectangles */ 37

O p e n C V : Y ü z B u l m a for( i = 0; i < faces->total; i++ ) { /* extract the rectanlges only */ CvRect face_rect = *(CvRect*)cvGetSeqElem( faces, i, 0 ); cvrectangle( image, cvpoint(face_rect.x*scale,face_rect.y*scale), cvpoint((face_rect.x+face_rect.width)*scale, (face_rect.y+face_rect.height)*scale), CV_RGB(255,0,0), 3 ); } } if( small_image!= image ) cvreleaseimage( &small_image ); cvreleasememstorage( &storage ); /* takes image filename and cascade path from the command line */ int main( int argc, char** argv ) { IplImage* image; if( argc==3 && (image = cvloadimage( argv[1], 1 ))!= 0 ) { CvHaarClassifierCascade* cascade = load_object_detector(argv[2]); detect_and_draw_objects( image, cascade, 1 ); cvnamedwindow( "test", 0 ); cvshowimage( "test", image ); cvwaitkey(0); cvreleasehaarclassifiercascade( &cascade ); cvreleaseimage( &image ); } return 0; } 38

O p e n C V : D i ğ e r Ö z e l l i k l e r Kamera Kalibrasyonu Poz Tahmini 39

N i y e O p e n C V? Birçok kullanılabilir ve literatürde başarılı çalışmalara yer veriyor Özellikle işlemci bazında optimizasyon ile programların çok hızlı çalışması sağlanıyor Çok basit bir kullanım olanağı sağlıyor Gelişmiş arayüz fonkyonları sayesinde kullanıcı etkileşimini yükseltiyor Kamera kullanımını kolay kılan özellikleri 40

N i y e Ö z g ü r Y a z ı l ı m? Paylaşarak hayatımızı güzelleştirmek için... 41

O p e n C V OpenCV'i Nereden Bulabilirim? http://tech.groups.yahoo.com/group/opencv/ http://www.intel.com/technology/computing/opencv/index.htm http://opencvlibrary.sourceforge.net/ 42

O p e n C V Teşekkürler, Sorularınız??? 43