Cumartesi, Ekim 10, 2009

OpenCv 2.0 İzlenimleri

Bir Makina mühendisi bir elektirik mühendisi ve bir bilgisayar mühendisi arabayla yolculuk yaparlarken araba arızalanır ve durur.
makina mühendisi arabadan iner ve arabanın mekanik aksamına bakar ama araba çalışmaz
elektirik mühendisi arabadan iner ve arabanın elektirik aksamına bakar ama araba yine çalışmaz.
Son olarak Bilgisayar mühendisi bir öneride bulunur
"Arabadan inip yeniden binelim belki çalışır"

Uzun uzadıya bir inceleme yapmaya ne ehilim ne de zamanım var. Ama artık OpenCv 2.0 yayınlandığına göre uygulamalarımızda mecbur kullanmak zorundayız, yoksa sonradan güncel versiyona geçişte epey bir problem olur.

OpenCv 2.0 windows versiyonu zaten kurulum programıyla geliyordu, kolayca kuruverdim.
Header ve Library dosya ayarlarını yapıp programı tekrar derledim. Hatasız derlendi, bende sevindim tabii. Fakat programı çalıştırınca hevesim kursağımda kaldı. Program çalıştı fakat bazı işlemlerde program çakılıyordu. Acaba fonksiyon parametrelerinde bir değişiklikmi olmuş diye ufak bir incelem yaptım görünürde bir şey bulamadım. İşin ilginç yanı cvPreprocessorun ürettiği kodları komut satırı uygulaması olarak çalıştırdığımda problem yoktu. Tek istisna Laplace fonksiyonu. sizinde aklınızda olsun
void cvLaplace(constCvArr *src,CvArr *dst, int aperture size=3);

aperture size 'a değer olarak -1 kullandığınızda program çalışma zamanı hata veriyor. Neyse biz konumuza dönelim windowsta ki hezimetin ardından linux'a yöneldim.

Benim Bilgisayarda kullandığım Linux dağıtımı OpenSuse 10.3 biraz eskidi ama işimiz görüyor. Linux versiyounu dediğimiz zaten kaynak kod. Uygun bir yere açıp
./configure
make
make install
diyerek derledim ve cvPreProcessor'u denedim gayet güzel çalışıyordu yukarda bahsettiğim Laplace istisnası hariç.

Linux versiyonun çalışması üzerine tekrar windows'a döndüm ve dağıtlan kütüphane programında bozukluk yada uyumsuzluk olabileceğinden kuşkulandım. ve
CMake
Mingw
MSYS
programlarını kaldırıp en son versiyonlarını tekrar kurdum. Sonra Cmake OpenCv 2.0 için Codeblocks projesi oluşturdum ve C::B ile build ettim. Nihayet Mutlu son. Artık programlarım doğru bir şekilde çalışıyor.
az kalsın unutuyordum "İnip tekrar binmek bazen işe yarıyor" :)

6 yorum:

Ceyhun Alyeşil dedi ki...

bağımlılıkları neler? hoş niye kurayım ki o da var ama merak işte :D

bluekid dedi ki...

kurun kurun bu arda bizim cvpreprocessoru da denemiş olursunuz.
hatta belkide sağda solda bahsedersinizde yayılır.

Ben OpenSuse 10.3 kullanıyorum bir önceki versiyonunda ( OpenCv 1.0 ) ffmpeg kurmuştum ama bu seferkinde hiç bir şeye ihtiyaç duymadı

Utku dedi ki...

İyi Günler

OpenCv 2.0 kurmaya çalışıyorum ama header ve library dosya ayarlarını yapamadım internetteki anlatımlarda 1.0 sürümü için yapmışlar ve sanırım yeni versiyonunda klasorler ve içerikleri değişmiş.

Nasıl yapılacagını kısaca anlatır mısınız?

bluekid dedi ki...

öncelikle yazıyı okumuşsanız göreceksinizki OpenCv 2.0 tekrar derlemeniz gerekiyor ondan sonrası
"include"
"lib"
dizinlerinin yerlerine göre ayarlamanızı yapmak

Fatih Ahmet ŞENEL dedi ki...

Hocam bende benzer hata ile karşılaşıyorum, derlerken hata yok ancak, exe yi çalıştırınca hata veriyor, path leri filan en az 10 defa kontrol ettim olmuyor nasıl yapacağız.

bluekid dedi ki...

faq-sss kısmındaki cevaplara bakın
olmazssa doğrudan iletişime geçin