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" :)