Перейти к содержимому
Compvision.ru

ikambi

Пользователи
  • Количество публикаций

    7
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О ikambi

  • Звание
    Новичок
  1. OpenCV с windows forms

    Спасибо, покопаюсь.
  2. OpenCV с windows forms

    cvSetMouseCallback( "CAMERA", &ocv_detect::Form1::onMouse, 0 ); error C3374: невозможно получить адрес "ocv_detect::Form1::onMouse", пока не будет создан экземпляр делегата cvSetMouseCallback( "CAMERA", onMouse, 0 ); error C3867: ocv_detect::Form1::onMouse: в вызове функции отсутствует список аргументов; используйте "&ocv_detect::Form1::onMouse" для создания указателя на член
  3. OpenCV с windows forms

    Это C++, Visual Studio 2008, пробовал и так, но не получается.
  4. OpenCV с windows forms

    Вот мой код. Что толку если я все запишу в ClickOnCVScreen, она должна обрабатывать события мышки от окна opencv. Вот почему то не получается это сделать. Ошибка выскакивает в строке cvSetMouseCallback( "CAMERA", ClickOnCVScreen, (void*) image) и требует передачи параметров этой функции. В консольном же приложении этого не требуется и все запускается на ура. private: System::Void ClickOnCVScreen(int event, int x, int y, int flags, void* param ) { IplImage* img = (IplImage*) param; switch( event ) { case CV_EVENT_MOUSEMOVE: break; case CV_EVENT_LBUTTONDOWN: this->listBox1->Items->Add("X="+x.ToString()+" Y="+y.ToString()); break; case CV_EVENT_LBUTTONUP: break; } } private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { listBox1->Items->Clear(); capture = cvCreateCameraCapture(CV_CAP_ANY); cvNamedWindow( "CAMERA",1); cvSetMouseCallback( "CAMERA", ClickOnCVScreen, (void*) image); while ( true ) { frame = cvQueryFrame( capture ); cvShowImage( "CAMERA", frame ); if(cvWaitKey(33) == 27) break; if(isBreak) break; } cvReleaseCapture( &capture ); cvDestroyWindow("CAMERA"); return; }
  5. OpenCV с windows forms

    Делаю приложение с использованием OpenCV. Мне нужно узнать на каком пикселе пользователь щелкнул в окне показа видео. Для этого привязываю обработчик событий к этому окну, пример http://robocraft.ru/blog/computervision/278.html cvSetMouseCallback( "original", myMouseCallback, (void*) image); В примере указанном по ссылке все работает, при нажатии на изображении в окне получаю координаты, но дело в том, что я не могу все это запустить при работе с формами. Окно opencv в котором все отображается запускается у меня так: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { .. cvNamedWindow( "CAMERA",1); cvSetMouseCallback( "CAMERA", ClickOnCVScreen, (void*) image); .. } private: System::Void ClickOnCVScreen(int event, int x, int y, int flags, void* param ) { } Вобщем все взято с примера указанного по ссылке. Ошибка error C3867: ocv_detect::Form1::ClickOnCVScreen: в вызове функции отсутствует список аргументов; используйте "&ocv_detect::Form1::ClickOnCVScreen" для создания указателя на член
  6. OpenCV с windows forms

    Спасибо!!! То что надо. Буду разбираться
  7. OpenCV с windows forms

    Добрый день! Подскажите как запустить проект windows form совместно с opencv Дело в том, что при создании консольного проекта, все работает, если же проект использует windows form, то он даже не компилируется. Что я делал: 1) создал проект в VS2010 C++ Windows Form Application 2) в свойствах проекта прописал Include dir c:\OpenCV2.2\include\opencv c:\OpenCV2.2\ Library dir c:\OpenCV2.2\lib\ Linker->Input opencv_core220d.lib;opencv_contrib220d.lib;opencv_features2d220d.lib;opencv_flann220d.lib;opencv_highgui220d.lib;opencv_objdetect220d.lib;opencv_video220d.lib;opencv_legacy220d.lib;opencv_calib3d220d.lib;opencv_ffmpeg220d.lib;opencv_imgproc220d.lib;opencv_ml220d.lib;%(AdditionalDependencies) 3) Попробовал скомпилировать, все ок, окно запустилось. 4) Добавил в код единственную строку #include <cv.h>, причем выбрал cv.h из предложенного выпадающего списка. 5) Нажал F5, выдало ошибки Error 1 error C3862: 'cvRound': cannot compile an unmanaged function with /clr:pure or /clr:safe c:\OpenCV2.2\include\opencv2\core\types_c.h 284 1 WFormsAndOCV Error 2 error C3645: 'cvRound' : __clrcall cannot be used on functions compiled to native code c:\OpenCV2.2\include\opencv2\core\types_c.h 284 1 WFormsAndOCV Error 3 error C3862: 'CV_XADD': cannot compile an unmanaged function with /clr:pure or /clr:safe c:\OpenCV2.2\include\opencv2\core\operations.hpp 78 1 WFormsAndOCV Error 4 error C3645: 'CV_XADD' : __clrcall cannot be used on functions compiled to native code c:\OpenCV2.2\include\opencv2\core\operations.hpp 78 1 WFormsAndOCV Error 5 error C1189: #error : ERROR: EMM intrinsics not supported in the pure mode! C:\Program Files\Microsoft Visual Studio 10.0\VC\include\emmintrin.h 27 1 WFormsAndOCV Все действия одинаковы для консольного проекта и проекта с формами. Как все же запустить все это дело??
×