Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to accelerate my camera control?

I am working with opencv 2.48 and visual studio 2010. When I add into my code Gaussian filtering and canny edge detection, the time of the image capturing was increased. How can I accelerate this process. If I have to add more functions for image processing and object tracking I thing that the speed for image capturing will be decreased more? I am using uEye camera 1490-M-GL.

Here is my code:

include <opencv2\core\core.hpp>

include <opencv2\highgui\highgui.hpp>

include <opencv2\opencv.hpp>

include <opencv2\imgproc\imgproc.hpp>

include <iostream>

using namespace cv; using namespace std;

int main(){ VideoCapture cap(0); cap.open(0); if (false) { return -1; }

cap.set(CV_CAP_PROP_FRAME_WIDTH, 3840);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 2748);
cap.set(CV_CAP_PROP_FPS, 30.00);
cap.set(CV_CAP_PROP_POS_MSEC, 300);

int width = cap.get(CV_CAP_PROP_FRAME_WIDTH);
int height = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
double fps = cap.get(CV_CAP_PROP_FPS);

namedWindow("wind1", 0);
namedWindow("wind50", 0);
    IplImage* videoFrame = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 1);

    cout << "W" << width << "FPS" << fps << endl;

    Mat gray;
    int counter = 0;

    while(1)
    {
   Mat frame; 
   cap.read(frame);

   imshow("wind1", frame);

   if (!frame.data) break;

   cvtColor(frame, gray, COLOR_BGR2GRAY);
   GaussianBlur(gray, gray, Size(7,7), 1.5, 1.5);
       Canny(gray, gray, 0, 30, 3);

   imshow("wind50", gray);
   }
   return 0;

}

How to accelerate my camera control?

I am working with opencv 2.48 and visual studio 2010. When I add into my code Gaussian filtering and canny edge detection, the time of the image capturing was increased. How can I accelerate this process. If I have to add more functions for image processing and object tracking I thing that the speed for image capturing will be decreased more? I am using uEye camera 1490-M-GL.

Here is my code:

include <opencv2\core\core.hpp>

include <opencv2\highgui\highgui.hpp>

include <opencv2\opencv.hpp>

include <opencv2\imgproc\imgproc.hpp>

include <iostream>

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\opencv.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <iostream>

using namespace cv;
using namespace std;

std; int main(){ VideoCapture cap(0); cap.open(0); if (false) { return -1; }

}
cap.set(CV_CAP_PROP_FRAME_WIDTH, 3840);
 cap.set(CV_CAP_PROP_FRAME_HEIGHT, 2748);
 cap.set(CV_CAP_PROP_FPS, 30.00);
 cap.set(CV_CAP_PROP_POS_MSEC, 300);
 int width = cap.get(CV_CAP_PROP_FRAME_WIDTH);
 int height = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
 double fps = cap.get(CV_CAP_PROP_FPS);
 namedWindow("wind1", 0);
 namedWindow("wind50", 0);
  IplImage* videoFrame = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 1);
 cout << "W" << width << "FPS" << fps << endl;
  Mat gray;
 int counter = 0;
 while(1)
 {
  Mat frame;
 cap.read(frame);
  imshow("wind1", frame);
  if (!frame.data) break;
 cvtColor(frame, gray, COLOR_BGR2GRAY);
  GaussianBlur(gray, gray, Size(7,7), 1.5, 1.5);
 Canny(gray, gray, 0, 30, 3);
 imshow("wind50", gray);
 }
  return 0;
}

}