2013-04-29 4 views
0

У меня есть проект VC++ для программирования камеры, framegabber, а также отображение в реальном времени с помощью OpenCV. prblem заключается в том, что программа отлично работает в режиме отладки, и она показывает живой захват с камеры, однако, когда я меняю его на режим выпуска, файл .exe программы не скрывает окно и не показывает ничего с камеры , here mycode:Проект VC++ OpenCV не показывает захват камеры в режиме деблокирования

//allocate memory 
if((_memoryAllc = Fg_AllocMemEx(fg,totalBufSize, CG_Options::getNBuffer()))!=NULL){   
    if(Fg_AcquireEx(fg,nCamPort,GRAB_INFINITE,ACQ_STANDARD,_memoryAllc)<0){ 
     CExceptionHandler::GrabberErrorMessage(fg,"Can not start Acquiring images ."); 
    } 
    else{     
     //create a window and set the handler from openCV to win32 
     cv::namedWindow("test",cv::WINDOW_AUTOSIZE);       
     hWnd2 = (HWND) cvGetWindowHandle("test"); 
     hParent = ::GetParent(hWnd2);        
     ::SetParent(hWnd2, hWnd); 
     ::ShowWindow(hParent, SW_HIDE); 
     _liveCapturing=true; 
     lastPicNr = 0; 
     SetWindowTextW(hStatus, L"Live Capturing ... "); 

     while(IsWindowVisible(hWnd2)){ //show the data while the window is open and visible 
      lastPicNr = Fg_getLastPicNumberBlockingEx(fg,lastPicNr+1,nCamPort,10,_memoryAllc);       
      iPtr=(unsigned char*)Fg_getImagePtrEx(fg,lastPicNr,0,_memoryAllc);      
      cv::Mat _matrixImage(cv::Size(CG_Options::getWidth(),CG_Options::getHeight()), CV_8UC1,iPtr , cv::Mat::AUTO_STEP);                        
      cv::imshow("test",_matrixImage); 
      cv::waitKey(10); 
     }      
    } 
} 

У кого-нибудь есть идеи?

+0

Я изменил cv :: NamedWindow() на cvNamedWondow() и то же самое для остальных команд opencv – user261002

ответ

1

Убедитесь, что вы связываете все необходимые библиотеки в свойствах проекта. Вы должны установить эти свойства для режимов отладки и выпуска. Я бы также пересмотрел определения препроцессора (свойства проекта -> свойства конфигурации -> C/C++ -> Препроцессор -> Определения препроцессора) для режимов конфигурации отладки и выпуска.

+0

спасибо вам, кроме проблемы, из-за этого мне также пришлось сменить команды opencv на более старые , – user261002

+0

Рад слышать, как вы решили свою проблему. Я попал во многие глупые ситуации, потому что настройки проекта несовместимы между режимами отладки и выпуска. В любом случае - удачи в вашем проекте! – Greg0ry

Смежные вопросы