PTZ kamera ile hedef takibi

Transkript

PTZ kamera ile hedef takibi
PTZ KAMERA İLE HEDEF TAKİBİ
SONY EVI - D70
PTZ KAMERA
UTKU ESEN
KOCAELİ ÜNİVERSİTESİ
GİRİŞ
Günümüzde kamera sistemleri ve teknolojileri oldukça gelişmiş
durumdadır. Buna bağlı olarak da kameraları kullanarak yapabildiğimiz
uygulamalar ve teknikler de zamanla artmıştır. Bu uygulamaların kullanım
amaçları kişinin isteğine veya ihtiyacına bağlı olarak değişebilir. Bu projenin
amacı, ptz kamera kullanarak hedefi tespit ve takip etmektir. Bu projede;
* Kullanılabilecek hedef tespit yöntemleri,
* PTZ kameranın özellikleri,
* MATLAB ‘ da PTZ kamerayı GUI kullanarak kontrol etme,
* PTZ kamera ile hedef takibi,
konularına ulaşabilirsiniz.
1.BÖLÜM
HEDEF TESBİT YÖNTEMLERİ
GİRİŞ
Hedefi tespit etmek amacıyla geliştirilen yöntemler uygulama alanına
göre farklılık gösterebilir. Bu yüzden hedef tespit yöntemlerinin hepsine
değinilmeyecek. Projeye yönelik kullanılabilecek olan yöntemler üzerinde
durulacak. Bu yöntemler ;
* Arka plan çıkarımı ve eşikleme,
* Fark alma,
olmak üzere ikiye ayrılıyor. Daha değişik yöntemlerde kullanılabilir.
Projede bu yöntemler üzerinde duruldu. Bu yöntemlerin projeye yönelik
eksikleri ve artıları tartışıldı ve sonuç olarak da bu yöntemlerden biri
kullanılarak proje sonuçlandırıldı.
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
Bu yöntem basitçe ard arda yakalanan görüntülerden(frame) ortalama bir
görüntü elde ederek arka plan çıkartma, arka plan çıkartıldıktan sonra ise yeni
alınan görüntü ile arka planın farkından, nesneyi elde etme mantığına
dayanıyor. Eşikleme kullanarak ise imgemizi lojik hale getiriyoruz ki üstünde
işlem yapmamız daha kolay olsun.
Ortalama almak için, alınan görüntülerin 3 renk kanalı
(R, G, B) değerleri noktasal olarak tek boyutlu bir dizide toplanıyor. Daha
sonra bu toplam, alınan görüntü sayısına noktasal bölünerek arka plan elde
ediliyor.
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
Ard arda elde edilen framler
Ortalama alınarak elde edilen
arka plan
•
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
MATLAB’ da iki resmin farkını alma ile ilgili örnek kod parçası aşağıda
verilmiştir.
fark = abs(imge – arka_plan); % abs komutu işlemin mutlak değerini alıyor.
Arka plan çıkartıldıktan
sonra alınan frame
=
Arka plan
Fark resmi
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
•
•
Fark imgesini elde ettikten sonra, imge üzerinde yapacağımız işlemleri rahat
yapabilmek için imgeyi lojik hale getirmemiz gerekiyor. Bu işlemi eşikleme
kullanarak yapacağız.
Eşiklemede ;
-
-
Öncelikle yapacağımız uygulamaya yönelik eşik değeri belirlenir ve bir
değişkene atanır. Değişkene atamamızın nedeni ileride yapıcağımız
değişikliklerde, yazdığımız kodda teker teker eşik değerlerini
değiştirmek yerine tek bir yerden değiştirebilme kolaylığı sağlamaktır.
Daha sonra, elde ettiğimiz fark imgesinde 3 renk kanalı için piksel
değerlerini eşik değer ile karşılaştırarak; büyük olan değerleri 1, küçük –
eşit olan değerleri ise 0 yaparak lojik görüntümüzü elde edeceğiz.
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
EŞİKLEME
Fark resmi
Elde edilen lojik
resim
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
•
Aşağıda MATLAB da yazılmış, eşikleme ile ilgili örnek kod parçacığı verilmiştir.
- esik_degeri = 25;
- binary_data =(data(:,:,1) > esik_degeri) ) & (data(:,:,2) & esik_degeri) & (data(:,:,3) > esik_degeri) ;
RED
GREEN
BLUE
ARKA PLAN ÇIKARIMI
VE
Elde ettiğimiz lojik resim her zamanEŞİKLEME
bu kadar temiz olmayabilir. Bu yüzden lojik resim
üzerinde birkaç morfolojik işlem uygulamamız gerekiyor. Uygulayacağımız yöntemler
“aşındırma” ve “yayma” yöntemleri olacak. Önce aşındırma kullanarak hedefin dışına
oluşan parazit nesneleri yok edeceğiz. Sonradan uygulayacağımız yayma tekniğiyleyse
nesnemizi gerçek boyutuna geri döndüreceğiz.
Gürültülü imge
Aşındırma
uygulanmış hali
Yayma
uygulanmış hali
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
Aşağıda MATLAB da yazılmış, aşındırma ve yayma ile ilgili örnek kod parçacığı
verilmiştir.
-
noised_data = binary_data ;
- se = strel('disk',2); % disk şeklinde kernel oluşturuyoruz.
noised_data = imerode(noised_data,se); % oluşturduğumuz kernel ile aşındırma
uyguluyoruz
clean_data = imdilate(noised_data,se); % aşındırma uygulanan imgeye yayma uyguluyoruz
•
•
ARKA PLAN ÇIKARIMI
VE
Temizleme işlemi sonucunda imgede
birden çok nesne de kalabilir. Bu nesneleri
EŞİKLEME
ayırt edebilmek için MATLAB ın bize sunmuş olduğu özel fonksiyon “ bwlabel ”
fonksiyonudur. Bu fonksiyon sayesinde imgede oluşan nesnelere etiket verebiliriz.
Nesneleri etiketledikten sonra bu nesnelerin bazı özelliklerini öğrenerek içinden
istediğimiz nesneyi seçebiliriz ve bu nesneye işlemler uygulayabiliriz. MATLAB da
bu işi yapmamızı sağlayan özel fonksiyon ise “ regionprops “ fonksiyonudur. Bu
fonksiyon sayesinde nesnenin ağırlık merkezine, başlangıç ve bitiş
koordinatlarına, alan büyüklüklerine v.b özelliklerine erişebiliriz.
Aşağıda bwlabel fonksiyonu örneği verilmiştir.
objects=
İmage =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
objects = bwlabel(image, 4);
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
2
2
0
0
0
3
0
0
0
0
3
3
3
3
0
0
0
0
0
0
0
0
0
•
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
“regionprops” fonksiyonunu kullandığımızda ise MATLAB “workspace” imizde
“struct” yapısında bir değişken oluşur.
objects_properties = regionprops(objects, ‘basic’);
% basic komutu nesnenin area, centroid, boundingbox özelliklerine ulaşmamızı sağlar.
•
•
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
“workspace” imizde oluşan bu değişkene çift tıkladığımızda nesnenin Area, Centroid
ve BoundingBox özelliklerine ulaşabilirsiniz.
Eğer birden fazla nesne bulunursa değişkenin boyutu (nesne_sayisi x 1) şekline
dönüşür.
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME
•
•
Nesne özelliklerini kullanarak nesne ayıklama işlemleri yapılabilir.
Aşağıda MATLAB da hazırlanmış, nesne özellikleri kullanılarak hedefi
işaretleme örneği gözükmektedir. Burada nesne özelliklerinden Area(alan
büyüklüğü) ‘ yı kullanarak nesne seçilmiştir. BoundingBox(başlangıç noktaları
ve nesnenin piksel büyüklüğünü veren özellik) özelliği sayesinde ise hedefin
kenarlarını çizme işlemi yapılmıştır.
•
•
•
ARKA PLAN ÇIKARIMI
VE
EŞİKLEME YÖNTEMİNİN
EKSİKLERİ
Eğer fark alırken farkın mutlağını almazsak arka planda beyaz(255,255,255),
kırmızı(255,0,0), yeşil(0,255,0) veya mavi(0,0,255) olan bir yerin üzerine gelen
nesne yada nesnenin bir kısmı bu yöntemle algılanamayabilir.
oluşturduğumuz eşik değeri bu örnek için geçerli olabilir fakat başka bir frame
grubunda çalışmayabilir.
Örneklerde de görüldüğü üzere bu sistemin hareket etmeyen, sabit kameralarda
kullanılması daha sağlıklıdır. Çünkü hareket eden kameralarda arka plan sürekli
değişecektir. Bu yüzden bu tekniği projemizde kullanamayacağız.
FARK ALMA YÖNTEMİ
•
•
Fark alma yönteminin büyük bir kısmını aslında bir önceki yöntemde uygulamıştık. Bu
yöntemin arka plan çıkartmadan farkı; fark alma işleminde arka plan ile son frame
yerine, ard arda alınan framlerin kullanılmasıdır. Bu yöntem sayesinde görüntüdeki
hareketleri algılayabiliriz.
Bu yöntem için ard arda framler almamız gerekiyor aşağıda bu işlemin MATLAB da bir
örneği verilmiştir.
Video = videoinput(‘winvideo’); % kamera kullanıcağımızı belirtiyoruz.
triggerconfig(video, 'manual'); % trigger işlemini manual yaparak frame alma hızımızı arttırıyoruz.
start(video) ; % videoyu almaya başlıyoruz ama henüz ekranda göremeyiz.
preview(video); % videoyu ekrana bastırıyoruz.
First_frame = getsnapshot(video); % ilk framimizi aldık.
Second_frame = getsnapshot(video); % ikinci framimizi de aldık. Fakat ikisi birbirine eşit değil.
% çünkü frame i alırken yapılan işlemler bilgisayarımıza zaman kaybettiriyor.
FARK ALMA YÖNTEMİ
•
•
•
Ard arda frameleri aldıktan sonra sıra bu framelerin farkını almaya geliyor. Bundan
sonra yapacağımız işlemler arka plan çıkartımına benziyor. Ondan farklı olarak
burada frameleri bölütlememiz gerekiyor. Çünkü burda nesneyi değil, hareketi
algılayabiliyoruz. Frame’ i bölütleyerek hangi bölümde ki nesnede hareket var onu
algılayabiliriz.
Kameramızın aldığı görüntünün çözünürlüğü DVD (576 x 720) formatındadır. 576
ve 720 sayıları 24 e tam bölünebildiği için frameleri 24 x 24 lük parçalara
bölüyoruz.
Bölünen parçaların piksel değerlerinin toplamını, (24 * 24 * eşik değer) sayısıyla
karşılaştırıyoruz. Eğer toplam bu sayıdan büyükse o bölgede hareket vardır, eğer
küçükse yoktur diyoruz. Bu sayede hareketli olan nesneyi hedef olarak
seçebiliyoruz.
FARK ALMA YÖNTEMİNİN
EKSİKLERİ
•
Bu yöntem de kamera hareketinden kötü anlamda etkilenebilir. Fakat arka
plan çıkartma yöntemine göre kullanımı daha kolaydır. Biz projemizde kamera
dönerken oluşan nesneleri hesaba katmayacağız. Sadece kamera durduğun da
farklılıklara bakacağız. Ama bu işlemi hızlı yaptığımız için sorun olmayacak. Eğer
arka plan çıkartma yöntemini kullansaydık ard arda en az 3 veya 4 tane görüntü
almamız ve bunların ortalamasını almamız gerekecekti ki buda bize çok zaman
kaybettirecektir.
2. BÖLÜM
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
•
Ø
Ø
Ø
•
•
PTZ’ nin açılımı;
Pan = Sağa ve sola dönme özelliği;
Title = Başlık anlamına geliyor. Yukarı ve aşağı hareketi temsil ediyor;
Zoom = Kameranın görüntüyü yakınlaştırıp uzaklaştırma özelliği.
PTZ nin açılımından da anlayabileceğimiz gibi kamera sağa – sola ve yukarıya – aşağıya
hareket edebilme özelliğine sahip. Bunun yanında kameranın ayarlanabilen lensi
sayesinde zoom özelliği de mevcut. Fakat biz bu özelliğini bu projede kullanmayacağız.
Sony Evi – D70 hareket kontrolünü VISCA - RS232 / RS422 protokolleri ile
gerçekleştirebilmektedir. Biz bu projede RS232 protokolü ile kameranın hareketini
kontrol edeceğiz.
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
•
•
•
Sağa ve sola 170 derece dönme kabiliyetine sahip.
Yukarı 90 derece, aşağı ise 30 derece dönme kabiliyetine sahip.
Kameranın zoomsuz görüş açısı 48 derecedir.
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
•
Bu türden kameralar genelde tavana asıldığı için altında kameranın görüntüsünü
ters çevirmeye yarayan switch bulunmakta. Aynı zamanda haberleşme
protokolünü seçtiğimiz switch, baud rate switchi,kamerayı D30 moduna almaya
yarayan switchde kameranın altındaki BOTTOM switch de yer almaktadır.
BOTTOM switch
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
•
Kameranın üzerindeki giriş ve çıkışların şeması aşağıda gösterilmiştir.
•
SONY EVI - D70
PTZ
KAMERANIN
ÖZELLİKLERİ
Elimizde RS232 bağlantı kablosu olmadığı için kabloyu kendimiz yapmamız gerekti. Bu
işlem için USB to SERİAL dönüştürücü ve SERİ PORT un dişisinden gerekmektedir.
Aşağıda kablonun yapımı için gereken bilgiler verilmiştir. Pin kablo renklerini bulmak
için AVOMETRE’nin kısadevre özelliğinden yararlanabilirsiniz. Ayrıca SERİ PORT un
dişisinde pinleri ararken ortaya göre simetriğini almayı unutmayın.
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
•
Kamerayı kontrol etmek için yollamamız gereken kodlar aşağıda gösterilmiştir.
Kodların başında yer alan 8x ifadesi, 8 kameranın kontrol edilebileceğini ve bu
kameralardan istediğimizi seçebileceğimizi ifade ediyor. Bu ifade hexadecimal bir
ifade olup 1. kamerayı seçmek istiyorsak (81)16 = (129)10 , 2. kamerayı seçmek
istiyorsak (82)16 = (130)10 yazmamız gerekmektedir.
SONY EVI - D70
PTZ KAMERANIN ÖZELLİKLERİ
•
Aşağıda pan ve title ın derece / saniye cinsinden hızları verilmiştir.
3. BÖLÜM
MATLAB’ DA PTZ KAMERAYI
GUI KULLANARAK
KONTROL ETME
MATLAB’ DA PTZ KAMERAYI
GUI KULLANARAK
KONTROL ETME
•
MATLAB’ ın kullanıcılarına tanıdığı güzel bir özelliği olan GUI, arayüz oluşturmak
amaçlı kullanılmaktadır. Bu sayede butonlara basarak kameramızı kontrol
edebilmekteyiz. GUI oluşturmadan önce boş bir sayfada oluşturmak istediğimiz
GUI’ nin taslağını çizmek bize zamansal olarak kazanç sağlayabilir. Aşağıda bizim
projemiz için oluşturacağımız GUI nin taslağı gösterilmiştir.
UP
LEFT
UP
UP
RIGHT
INIT
LEFT
STOP
RIGHT
HOME
LEFT
DOWN
DOWN
RIGHT
DOWN
EXIT
AUTO
TRACKKİNG
MATLAB’ DA PTZ KAMERAYI
GUI KULLANARAK
KONTROL ETME
•
Oluşturduğumuz taslağı gerçekleştirmek için önce MATLAB’ da yeni bir GUI
yaratıyoruz. Daha sonra açılan pencerede, araç kutusundan sürükleyerek veya
çizerek butonları oluşturuyoruz. Dosyamızı kaydettikten sonra karşımıza MATLAB
otomatik olarak .m uzantılı Mfile oluşturuyor. Daha sonra Butonlara basılacağı
zaman yapılması gerekenleri butonların Callback fonksiyonlarının altına yazıyoruz.
Eğer program açılmadan önce yapmamız gerekenler varsa “OpeningFcn”
fonksiyonunun altına yazıyoruz. Fonksiyonlar da kullanacağımız değişkenler eğer
ortak ise değişkeni “global” tanımlamamız gerekiyor. Bunun için yazılmış örnek
kod aşağıda gösterilmiştir.
function gui_cam_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
global data;
data = 1;;
function home_button_Callback(hObject, eventdata, handles)
global data;
data = data + 1;
MATLAB’ DA PTZ KAMERAYI
GUI KULLANARAK
KONTROL ETME
•
Oluşturduğumuz GUI aşağıda gösterilmiştir.
4.BÖLÜM
PTZ KAMERA İLE
HEDEF TAKİBİ
Önceki bölümlerde anlatılanları bir araya getirdiğimizde istediğimiz sonucu elde
edebiliriz. Öncelikle nesneyi bulurken fark alma yöntemi kullanacağımızı
biliyoruz.
Nesneyi bulduktan sonra kameranın merkezine getirmemiz gerekicek. Bunun
içinde kameranın hız özelliklerini ve GUI kullanımını iyi bilmemiz gerekiyor.
•
•
Kameranın zoomsuz görüş açısının 48 derece olduğunu biliyoruz. Yani, eğer bir
cisim kameranın görüş açısının en uç noktasındaysa kamerayı 48 derece
döndürmemiz gerekecektir. Ayrıca bu işlemleri hızlı yapmamız açısından
kameranın hızlı tepki vermesi gerekiyor. Bu yüzden kameranın hızını da
olabildiğince yüksek tutmamız gerekiyor. Kameranın hız özelliklerine
baktığımızda sağ –sol dönme hızı maksimum 100 derece/saniye. Eğer kamerayı
maksimum hızda 0.5 sn ye döndürürsek istediğimiz sonuca ulaşabiliriz. Aynı şey
başlık içinde geçerli onu da maksimum hızda ve 0.5 sn sürece çalıştırırsak uç
noktaları odaklayabiliriz.
PTZ KAMERA İLE
HEDEF TAKİBİ
•
Fakat eğer cisim nesnenin daha orta bölgelerinde ise bu sefer odaklamak için
kameranın dönme hızının daha düşük olması gerekir. Aşağıda kameranın
odaklaması gereken yere göre hız denklemi verilmiştir. Burada hızın maksimum
değerinin yarısı kadar verilmesinin nedeni motor sürme süresinin 1 sn yerine 0.5
sn olarak belirlememizdir.
kamera_hizi_x = 11;
kamera_hizi_y = 12;
donulecek_yol_x = odak_nok_x - odaklanicak_nokta_x;
donulecek_yol_y = odak_nok_y - odaklanicak_nokta_y;
donulecek_yol_x_buyukluk = abs(donulecek_yol_x);
donulecek_yol_y_buyukluk = abs(donulecek_yol_y);
hiz_y = floor(donulecek_yol_y_buyukluk / kamera_hizi_y); % floor fonksiyonuyla virgüllü
değeri aşağıya yuvarlıyoruz.
hiz_x = floor(donulecek_yol_x_buyukluk / kamera_hizi_x);
PTZ KAMERA İLE
HEDEF TAKİBİ
•
•
Odaklanılacak noktayı yani hedefi bulurken,;hareket olan yerlerin ağırlık
noktalarının x ve y değerleri toplanıp, hareketli yer sayısına bölünerek ortalama
ağırlık noktasını bulma mantığı kullanılmıştır. Bunun yerine hareketin en çok
olduğu yerde hedef olarak seçilebilirdi veya odağa en uzak olan hareketli yerde
seçilebilirdi. Bu tamamen kameranın kullanım amacına bağlıdır. Biz projemizde
ortalama ağırlık merkezini hedef olarak seçiyoruz.
Aşağıda ortalama ağırlık merkezini seçmeye yarayan MATLAB kodu bulunmakta.
for i = 1 : nesne_sayisi
center_total_x = center_total_x + nesne_ozellikleri(i,1).Centroid(1,1);
center_total_y = center_total_y + nesne_ozellikleri(i,1).Centroid(1,2);
end
center_x = center_total_x / nesne_sayisi * bolutleme_orani;
center_y = center_total_y / nesne_sayisi * bolutleme_orani;
•
Bölütleme oranıyla çarpmamızın sebebi; ortalama bulma işlemlerini, frami
ayırdığımız bölmelerin üzerinde yapmamızdan kaynaklanıyor.
PTZ KAMERA İLE
HEDEF TAKİBİ
•
•
•
Hedefi bulduktan ve odaklanılacak noktayı tesbit ettikten sonra geriye kamerayı o
yöne odaklamak kalıyor. Bunun için kameraya RS232 protokolü ile komutlar
göndermemiz gerekiyor. Normalde kameramızın odak noktasına göre dönmesi
gereken koordinatları verdiğimizde kendisi otomatik olarak o noktayı odaklıyor. Fakat
biz bu işlemi kendimiz yapmak istiyoruz bu yüzden kameraya DÖN – DÖNMEYE
DEVAM ET – DUR komutlarını söylememiz gerekiyor.
Bunun yanında kameranın odağından çok az uzaklıktaki noktalarda hareket olduğu
belirlenirse ve biz her seferinde bu noktaları odaklamak istersek hem kameranın
harcadığı enerji hemde işlem yükü artar. Bunu engellemek için kameraya odaklama
sınırı koymamız gerekiyor. Eğer odaklanılacak noktanın uzaklığı odak noktasından
yeteri kadar uzakt değilse kamera odaklama işlemini yapmıcaktır.
Bir sonraki sunuda bu işlemleri gerçekleştiridiğimiz MATLAB kodları yer almaktadır.
PTZ KAMERA İLE
HEDEF TAKİBİ
if donulecek_yol_x_buyukluk > odaklama_siniri_x || donulecek_yol_y_buyukluk > odaklama_siniri_y
hiz_y = floor(donulecek_yol_y_buyukluk / kamera_hizi_y);
hiz_x = floor(donulecek_yol_x_buyukluk / kamera_hizi_x);
w = hiz_x;
v = hiz_y;
if (donulecek_yol_x < 0) && (donulecek_yol_y < 0)
%right - down
fwrite(communication,[129 1 6 1 v w 2 2 255]);
end
if (donulecek_yol_x > 0) && (donulecek_yol_y < 0)
fwrite(communication,[129 1 6 1 v w 2 1 255]); %right - up
end
if (donulecek_yol_x < 0) && (donulecek_yol_y > 0)
fwrite(communication,[129 1 6 1 v w 1 2 255]); %left - down
end
if (donulecek_yol_x > 0) && (donulecek_yol_y > 0)
fwrite(communication,[129 1 6 1 v w 1 1 255])
%left - up
end
pause(0.35);
fwrite(communication,[129 1 6 1 v w 3 3 255]);
% stop
end
PTZ KAMERA İLE
HEDEF TAKİBİ
•
RS232 protokolünün MATLAB da kullanımı ile ilgili örnek kod aşağıda verilmiştir.
communication = serial('com4'); % seri port seçiliyor.
fopen(communication); % seri port haberleşmek için açılıyor.
fwrite(communication,[129 1 6 1 v w 3 3 255]); % dur komutu gönderiliyor.
fclose(communication); % seri port kapatılıyor.
•
MATLAB da video alma ve ekrana basma ile ilgili örnek kod aşağıda verilmiştir.
vidobj = videoinput('winvideo'); % kamerayı seçtiğimiz kod.
triggerconfig(vidobj, 'manual'); % frame alma hızımı arttıran kod.
start(vidobj); % videoyu başlatan kod.
preview(vidobj); % videoyu ekrana bastıran kod.
data = getsnapshot(vidobj);% videodan frame almamızı sağlayan kod.
closepreview; % ekranda gösterilen video yu kapatmaya yarayan kod.
clear(vidobj); % videoyu workspaceden siliyoruz.
PROJE SORUMLUSU
UTKU ESEN
KOCAELİ ÜNİVERSİTESİ
ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ
3. SINIF ÖĞRENCİSİ
PROJE DANIŞMANI
ORHAN AKBULUT
KOCAELİ ÜNİVERSİTESİ İŞARET VE GÖRÜNTÜ İŞLEME LABORATUVARI(KULİS)

Benzer belgeler