Merge branch 'master' of https://github.com/otcshare/automotive-message-broker
authorKevron Rees <tripzero.kev@gmail.com>
Wed, 6 Mar 2013 23:40:50 +0000 (15:40 -0800)
committerKevron Rees <tripzero.kev@gmail.com>
Wed, 6 Mar 2013 23:40:50 +0000 (15:40 -0800)
1  2 
plugins/opencvlux/opencvluxplugin.cpp

@@@ -192,45 -191,38 +191,45 @@@ static int grabImage(void *data
                m_capture->grab();
                m_capture->retrieve( m_image, CV_CAP_OPENNI_GRAY_IMAGE );
        }
-       else
+       else*/
        {
-               (*m_capture) >> m_image;
-       }
+               cv::Mat m_image;
  
-       if(threaded)
-       {
-               QFutureWatcher<uint> *watcher = new QFutureWatcher<uint>();
-               connect(watcher,SIGNAL(finished()),this,SLOT(imageGrabCompleted()));
+               *(shared->m_capture) >> m_image;
  
-               QFuture<uint> future = QtConcurrent::run(this, &OpenCvLuxPlugin::evalImage, m_image);
-               watcher->setFuture(future);
+               uint lux = evalImage(m_image,shared);
+               shared->parent->updateProperty(lux);
        }
-       else
-       {
-               uint lux = evalImage(m_image);
  
-               updateProperty(lux);
+       if(shared->mRequests.size())
+       {
+               return true;
        }
  
+       delete shared->m_capture;
+       shared->m_capture = NULL;
+       return false;
  }
  
uint OpenCvLuxPlugin::evalImage(cv::Mat qImg)
static uint evalImage(cv::Mat qImg, OpenCvLuxPlugin::Shared *shared)
  {
 -#ifdef OPENCL
        cv::Scalar avgPixelIntensity;
 -      cv::Scalar stdDev;
  
 -      cv::ocl::meanStdDev(qImg, avgPixelIntensity, stdDev);
 -#else
 -      cv::Scalar avgPixelIntensity = cv::mean(qImg);
 +
 +      if(useOpenCl)
 +      {
 +#ifdef OPENCL
 +              cv::Scalar stdDev;
 +              cv::ocl::meanStdDev(qImg, avgPixelIntensity, stdDev);
  #endif
 +      }
 +      else
 +      {
 +              cv::Scalar avgPixelIntensity = cv::mean(qImg);
 +      }
 +
  
        double val = avgPixelIntensity.val[0];