reklam1

reklam1

15 Ağustos 2011 Pazartesi

mini2440 için OpenCV Görüntü işleme kütüphanesi kurulumu...

1-http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.0/ adresinden OpenCV-2.0.0.tar.baz2 dosyasını indirelim.
2-SRC_DIR=/opt/FriendlyARM/mini2440
3-TGT_DIR=/usr/local/OpenCV
4-export CC=arm-linux-gcc
5-export PKG_CONFIG_PATH=/usr/local/OpenCV/lib/pkgconfig
6-cd $SRC_DIR/OpenCV-2.0.0
7-make uninstall && make clean
8-./configure --prefix=$TGT_DIR --host=arm-linux CPPFLAGS=-I$TGT_DIR/include LDFLAGS=-L$TGT_DIR/lib --with-v4l --without-ffmpeg --without-unicap --without-gthread --disable-shared --enable-static --without-imageio --without-carbon --without-quicktime --without-1394libs --without-python --without-gtk --without-swig --disable-apps --disable-shared CXX=arm-linux-g++
9- make -j3
10-make install
10- TGT_DIR klasöründe; bin, include, lib klasörleri oluştu. Bunları aynı isimle Mini2440'a kopyalayalım (/usr/local/OpenCV/lib gibi...).

11-/etc/init.d/scR' ye export LD_LIBRARY_PATH :/usr/local/OpenCV/lib/:$LD_LIBRARY_PATH satırını ekleyelim.

kurulum tamam...

11- Kamera tanıtımı, initialization, Görüntü yakalamak için;
...
CvCapture *mycamera = NULL;
IplImage *myframe = NULL;

mycamera =cvCreateCameraCapture(0);

while(1) {
cvGrabFrame(mycamera);
myframe = cvRetrieveFrame(mycamera,0);
...

QApplication app(argc, argv);
myCameraWindow *mainWin = new MyCameraWindow(camera);
mainwin->setWindowTitle("OpenCV ile hersey cok kolay");
mainwin->show();
int val = app.exec();
cvReleaseCapture(&mycamera);
return val;
...

12- Qt de QOpenCVWidget oluşturma;
...
QOpenCVWidget::QOpenCVWidget(QWidget *parent): QWidget(parent) {
layout = new QVBoxLayout;
imagelabel = new QLabel;
QImage dummy(240,320,QImage::Format_RGB32);
...

13- Görüntü penceresi;
MyCameraWindow::MyCameraWindow(CvCapture *cam, QWidget *parent): QWidget(parent) {
mycamera = cam;
QVBoxLayout *layout = new QVBoxLayout;
...

ilk deneme de tamam...

21 yorum :

  1. işte tam aradığım bilgi.. Çok teşekkürler üstat.

    YanıtlaSil
  2. hocam iyi günler ben qt de cam130 dan görüntüyü alıp görüntülemek istiyorum. yardımcı olursanız cok sevinirim.

    YanıtlaSil
  3. Seve seve yardımcı olurum.
    Cam130 icin yazılmış char driver mevcut, /dev/camera. ilk önce;
    fd = open("/dev/camera", O_RDWR); ile açacaksın. Daha sonra kaç fps te görüntü yakalayacaksan ona göre timer kuracaksın.
    Cam130 için;
    Width=640,
    Height=512,
    BPP=16,
    LineLen=Width*BPP /8,
    BufferSize=Linelen*Height.

    BufferSize kadar buffer ayıracaksın. Buffer'ın adresini tutacaksın. Daha sonra timer on timeout olduğunda,
    read(fd, BufferAddr, BufferSize); ile okuyacaksın ve ekrana basacaksın.
    Bu kadar basit.
    Kolay gelsin.

    YanıtlaSil
  4. Merhabalar,
    Hocam mini2440 aldım ve wince 6.0 kurulu geldi.Cihaza linux kurmak istiyorum ancak labtopta seriport olmadığından kurulumu gerçekleştiremiyorum. Önerebileceğiniz bir yol var mı acaba ? Yardımcı olursanız sevinirim iyi çalışmalar.

    YanıtlaSil
  5. hocam meraba read kısmını felan halletim. bi tane örnek buldum. camerayı okuyup rect. class ı oluşturmuş fream buffer ı açıp onun içine data yı yazdırıp görüntü oluşturmuş. içinden çıkamadım biraz degiştirip Qimage içine koyup görüntüleyim dedim, olmadı. mininin dvd sindeki örnek.
    kusurabakmayın hocam wifi ile ugraşıyordum. size geri dönemedim.

    YanıtlaSil
  6. kardeş usb serial converter kullan.

    YanıtlaSil
  7. bu arada mini2440 için türkçe bi site bulmak çok güzel. emegine saglık mustafa hocam

    YanıtlaSil
  8. Ahmet bey öneriniz için teşekkürler ancak bazı forum sitelerinde çevirici kullanmanın pek uygun olmadığından bahsediyorlar. Çevirici alsam bir sorun yaşarmıyım acaba?

    YanıtlaSil
  9. ben hiç sorun yaşamadım başka secenek yok gibi masaüstü bilgisayar ikinci çözüm.
    veri transveri zaten usb den yapılabiliyor.(mini2440 için).usb (host-slave) den image ve digerlerini yükleyeceksiniz. serial converter i sadece komut vermek için kullanacaksınız. converterların kalitesine göre hız arttıkça sorun yaşanıyo. başka bi sorun olmaz.

    YanıtlaSil
  10. mustafa hocam bişey daha soruyum. streamimg olayını nasıl yaparız. mjpeg streamer gibi bir program yazmaya çalışıyorum aslında ama şimdilik ufaktan başlayım dedim. nasıl bi yol izlemek gerekir. Qtcpserver felan aktif ettim şun çalışıyo

    YanıtlaSil
  11. ahmet,
    e-posta adresini yollarsan bir ornek kod gonderirim.

    YanıtlaSil
  12. Ben VMWare içinde Fedora 16 kullanıyorum. İnternetten "DNW for linux" kaynak kodunu buldum. Linux ta derledim. USB to serial den bağlanıp linux içinden DNW ile herşeyi hallediyorum.

    YanıtlaSil
  13. video streaming için bir ara kod yazmıştım. Ancak o zaman transplantım farklıydı. Tekrar bir gözden geçirmem lazım. Ondan sonra yayınlarım.

    YanıtlaSil
  14. teşekkur ederim hocam. dört gözle bekliyorum

    YanıtlaSil
  15. mustafa hocam size döküman gönderim sitenizde yayınlamak isterseniz. katkımız olsun bizimde

    YanıtlaSil
  16. olur tabii, çok sevinirim.
    NOT: e-postanı kontrol edebilirsin.

    YanıtlaSil
  17. çok teşekkür ederim.

    YanıtlaSil
  18. Mustafa Hocam camera yı denedim, düzgün bir şekilde çalışıyo emegine sağlık.

    YanıtlaSil
  19. Selam mustafa bey ,Mini 2440 üzerinde qtopia işletim sistemi var. QT ve mini 2440 uygulama geliştirmeye yeni başladım . Elimde ubuntu işletim sistemi yüklü bir bilgisayarım var.
    Ubuntu üzerinde QT uygulaması geliştirip derleyip nasıl mini 2440 da çalıştırabilirim. Yabancı kaynaklarda tam net bir şey yok denemedğim şey kalmadı. Nasıl olacak adım adım anlatabilirmisiniz.

    YanıtlaSil
  20. Merhabalar,
    Bende Opencv kütüphalerini kullanark oluşturduğum executable ı panda board üzerinde çalıştırmaya çalışıyorum fakat şöyle bi hata alıyorum

    OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/yusuf/OpenCV-2.4.3/modules/highgui/src/window.cpp, line 602
    terminate called after throwing an instance of 'cv::Exception'
    what(): /home/yusuf/OpenCV-2.4.3/modules/highgui/src/window.cpp:602: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow

    Bu konu hakkında yardımcı olabilir misiniz? Panda board a Angstrom kurulu. Fakat ubuntuda da denedim yine aynı hatayı alıyorum. Bu konuda yardımcı olursanı çok sevinirim.
    İyi çalışmalar.

    YanıtlaSil

reklam4

reklam4