[mousetrap/ng] Small Changes



commit c628160f2edcaa1bd1df80aa7f8f847bf974fcd2
Author: Flavio Percoco Premoli <flaper87 gmail com>
Date:   Wed Jan 6 17:24:54 2010 +0100

    Small Changes

 src/mousetrap/ocvfw/.cproject              |    1 +
 src/mousetrap/ocvfw/backends/OcvfwBase.cpp |   23 ++++++++++++++++-------
 src/mousetrap/ocvfw/include/OcvfwBase.h    |   14 +++++++++-----
 3 files changed, 26 insertions(+), 12 deletions(-)
---
diff --git a/src/mousetrap/ocvfw/.cproject b/src/mousetrap/ocvfw/.cproject
index 594272e..84e0004 100644
--- a/src/mousetrap/ocvfw/.cproject
+++ b/src/mousetrap/ocvfw/.cproject
@@ -42,6 +42,7 @@
 <tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.913841576" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug">
 <option id="gnu.c.link.option.paths.2023863610" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
 <listOptionValue builtIn="false" value="/usr/include"/>
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ocvfw/include}&quot;"/>
 <listOptionValue builtIn="false" value="/usr/local/include"/>
 </option>
 <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.904072152" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
diff --git a/src/mousetrap/ocvfw/backends/OcvfwBase.cpp b/src/mousetrap/ocvfw/backends/OcvfwBase.cpp
index 64146a4..ad98c54 100644
--- a/src/mousetrap/ocvfw/backends/OcvfwBase.cpp
+++ b/src/mousetrap/ocvfw/backends/OcvfwBase.cpp
@@ -38,17 +38,23 @@
 
 static IplImage * orginalFrame=0;
 IplImage * frame=0;
+IplImage * small_frame=0;
 IplImage * frame_copy=0;
 
 /**
  * Image Width of Webcam
  */
 #define IMAGE_WIDTH 320
+
 /*
  * Image Height of Webcam
  */
 #define IMAGE_HEIGHT 240
 
+/*
+ * Image Height of Webcam
+ */
+#define SMALL_FRAME_SCALE 1.5
 
 
 OcvfwBase::OcvfwBase() {
@@ -56,15 +62,16 @@ OcvfwBase::OcvfwBase() {
 
 void OcvfwBase::stopCamera()
 {
-   if(capture!=0)
-   cvReleaseCapture( &capture );
+   if(this->capture!=0)
+   cvReleaseCapture( &this->capture );
 }
 
 int OcvfwBase::startCamera(int idx)
 {
-    capture = cvCaptureFromCAM(idx);
+	this->storage = cvCreateMemStorage(0);
+    this->capture = cvCaptureFromCAM(idx);
 
-    if(capture==0)
+    if(this->capture==0)
     	return 0;
     else
     	return 1;
@@ -72,7 +79,7 @@ int OcvfwBase::startCamera(int idx)
 
 IplImage *OcvfwBase::queryFrame()
 {
-    orginalFrame = cvQueryFrame( capture );
+    orginalFrame = cvQueryFrame( this->capture );
     if (orginalFrame==NULL)
     	return 0;
 
@@ -102,13 +109,15 @@ int OcvfwBase::waitKey(int num) {
 	return cvWaitKey(num);
 }
 
-int OcvfwBase::getHaarPoints(char* haarclassifier) {
+int OcvfwBase::getHaarPoints(IplImage* img, char* haarclassifier) {
 	CvHaarClassifierCascade* cascade;
 
 	cascade = (CvHaarClassifierCascade*)cvLoad(haarclassifier, 0, 0, 0);
 
 	if (cascade) {
-
+		small_frame = this->newImage( cvSize(IMAGE_WIDTH/SMALL_FRAME_SCALE,IMAGE_HEIGHT/SMALL_FRAME_SCALE), IPL_DEPTH_8U, img->nChannels );
+		cvResize(img, small_frame, CV_INTER_LINEAR);
+		cvClearMemStorage(this->storage);
 	}
 }
 
diff --git a/src/mousetrap/ocvfw/include/OcvfwBase.h b/src/mousetrap/ocvfw/include/OcvfwBase.h
index 1e64b0f..19082b8 100644
--- a/src/mousetrap/ocvfw/include/OcvfwBase.h
+++ b/src/mousetrap/ocvfw/include/OcvfwBase.h
@@ -76,24 +76,28 @@ public:
 
     /**
      * Get Detected Region using Input Haar Cascade
+     * @param The current Image
      * @param Haar Cascade Path
-     * result returns 1 for Sucess and 0 for Failure
+     * @result returns 1 for Sucess and 0 for Failure
      */
-    int getHaarPoints(char* haarclassifier) ;
+    int getHaarPoints(IplImage* img, char* haarclassifier) ;
 
 
 private:
     /**
-    *Opencv Capture Structure
+    * Opencv Capture Structure
     */
     CvCapture* capture;
 
     /**
+    * Opencv Mem Storage
+    */
+    CvMemStorage* storage;
+
+    /**
      * The camera index.
      */
     int idx;
-
-
 };
 
 #endif /* OCVFWBASE_H_ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]