Revision: 10622 http://pure-data.svn.sourceforge.net/pure-data/?rev=10622&view=rev Author: lluisbigorda Date: 2009-01-25 00:37:29 +0000 (Sun, 25 Jan 2009)
Log Message: ----------- deleted wrong help file
Modified Paths: -------------- trunk/externals/pdp_opencv/pdp_opencv_bgsubstract.c trunk/externals/pdp_opencv/pdp_opencv_haarcascade.c
Added Paths: ----------- trunk/externals/pdp_opencv/COPYING
Removed Paths: ------------- trunk/externals/pdp_opencv/README trunk/externals/pdp_opencv/pdp_opencv_contours_composition-help.pd
Added: trunk/externals/pdp_opencv/COPYING =================================================================== --- trunk/externals/pdp_opencv/COPYING (rev 0) +++ trunk/externals/pdp_opencv/COPYING 2009-01-25 00:37:29 UTC (rev 10622) @@ -0,0 +1,36 @@ +IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. + +By downloading, copying, installing or using the software you agree to this license. +If you do not agree to this license, do not download, install, +copy or use the software. + + + Intel License Agreement + For Open Source Computer Vision Library + +Copyright (C) 2000, 2001, Intel Corporation, all rights reserved. +Third party copyrights are property of their respective owners. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistribution's of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistribution's in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * The name of Intel Corporation may not be used to endorse or promote products + derived from this software without specific prior written permission. + +This software is provided by the copyright holders and contributors "as is" and +any express or implied warranties, including, but not limited to, the implied +warranties of merchantability and fitness for a particular purpose are disclaimed. +In no event shall the Intel Corporation or contributors be liable for any direct, +indirect, incidental, special, exemplary, or consequential damages +(including, but not limited to, procurement of substitute goods or services; +loss of use, data, or profits; or business interruption) however caused +and on any theory of liability, whether in contract, strict liability, +or tort (including negligence or otherwise) arising in any way out of +the use of this software, even if advised of the possibility of such damage.
Deleted: trunk/externals/pdp_opencv/README =================================================================== --- trunk/externals/pdp_opencv/README 2009-01-25 00:33:06 UTC (rev 10621) +++ trunk/externals/pdp_opencv/README 2009-01-25 00:37:29 UTC (rev 10622) @@ -1 +0,0 @@ -See docs/index.htm
Modified: trunk/externals/pdp_opencv/pdp_opencv_bgsubstract.c =================================================================== --- trunk/externals/pdp_opencv/pdp_opencv_bgsubstract.c 2009-01-25 00:33:06 UTC (rev 10621) +++ trunk/externals/pdp_opencv/pdp_opencv_bgsubstract.c 2009-01-25 00:37:29 UTC (rev 10622) @@ -52,7 +52,7 @@ int x_set; int x_threshold;
- IplImage *image, *prev_gray, *gray, *grayLow, *grayUp, *diff_8U; + IplImage *image, *prev_image, *gray, *grayLow, *grayUp, *diff_8U;
} t_pdp_opencv_bgsubstract;
@@ -79,7 +79,7 @@ cvReleaseImage(&x->gray); cvReleaseImage(&x->grayLow); cvReleaseImage(&x->grayUp); - cvReleaseImage(&x->prev_gray); + cvReleaseImage(&x->prev_image); cvReleaseImage(&x->diff_8U);
//create the orig image with new size @@ -88,7 +88,7 @@ x->gray = cvCreateImage(cvSize(x->image->width,x->image->height), IPL_DEPTH_8U, 1); x->grayLow = cvCreateImage(cvSize(x->image->width,x->image->height), IPL_DEPTH_8U, 1); x->grayUp = cvCreateImage(cvSize(x->image->width,x->image->height), IPL_DEPTH_8U, 1); - x->prev_gray = cvCreateImage( cvSize(x->image->width,x->image->height), 8, 1 ); + x->prev_image = cvCreateImage( cvSize(x->image->width,x->image->height), 8, 3 ); x->diff_8U = cvCreateImage( cvSize(x->image->width,x->image->height), 8, 1 ); }
@@ -101,21 +101,49 @@ // FEM UNA COPIA DEL PACKET A image->imageData ... http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html aqui veiem la estructura de IplImage memcpy( x->image->imageData, data, x->x_size*3 );
- cvCvtColor( x->image, x->gray, CV_BGR2GRAY ); + //cvCvtColor( x->image, x->gray, CV_BGR2GRAY );
if (x->x_set) { - memcpy( x->prev_gray->imageData, x->gray->imageData, x->x_size ); + memcpy( x->prev_image->imageData, data, x->x_size*3 ); x->x_set=0; }
- cvSubS (x->prev_gray,cvScalar(x->x_threshold,x->x_threshold,x->x_threshold,x->x_threshold),x->grayLow,NULL); - cvAddS (x->prev_gray,cvScalar(x->x_threshold,x->x_threshold,x->x_threshold,x->x_threshold),x->grayUp,NULL); - cvInRange (x->gray, x->grayLow, x->grayUp, x->diff_8U); + //cvSubS (x->prev_image,cvScalar(x->x_threshold,x->x_threshold,x->x_threshold,x->x_threshold),x->grayLow,NULL); + //cvAddS (x->prev_image,cvScalar(x->x_threshold,x->x_threshold,x->x_threshold,x->x_threshold),x->grayUp,NULL); + //cvInRange (x->gray, x->grayLow, x->grayUp, x->diff_8U);
- cvNot (x->diff_8U,x->diff_8U); + //cvNot (x->diff_8U,x->diff_8U);
- cvCvtColor(x->diff_8U,x->image,CV_GRAY2BGR); + //cvCvtColor(x->diff_8U,x->image,CV_GRAY2BGR); + + int h,w,hlength, chRed, chGreen, chBlue; + long src,pixsize; + + chRed =0; + chGreen =1; + chBlue =2;
+ src = 0; + + + for (h=0; h<x->image->height; h++){ + for(w=0; w<x->image->width; w++){ + if (((x->image->imageData[src+chRed ] > x->prev_image->imageData[src+chRed ] - x->x_threshold)&& + (x->image->imageData[src+chRed ] < x->prev_image->imageData[src+chRed ] + x->x_threshold))&& + ((x->image->imageData[src+chGreen] > x->prev_image->imageData[src+chGreen] - x->x_threshold)&& + (x->image->imageData[src+chGreen] < x->prev_image->imageData[src+chGreen] + x->x_threshold))&& + ((x->image->imageData[src+chBlue ] > x->prev_image->imageData[src+chBlue ] - x->x_threshold)&& + (x->image->imageData[src+chBlue ] < x->prev_image->imageData[src+chBlue ] + x->x_threshold))) + { + x->image->imageData[src+chRed] = 0; + x->image->imageData[src+chGreen] = 0; + x->image->imageData[src+chBlue] = 0; + } + src+=3; + } + } + + memcpy( newdata, x->image->imageData, x->x_size*3 );
return; @@ -201,7 +229,7 @@ cvReleaseImage(&x->gray); cvReleaseImage(&x->grayLow); cvReleaseImage(&x->grayUp); - cvReleaseImage(&x->prev_gray); + cvReleaseImage(&x->prev_image); cvReleaseImage(&x->diff_8U); }
@@ -233,7 +261,7 @@ x->gray = cvCreateImage(cvSize(x->image->width,x->image->height), IPL_DEPTH_8U, 1); x->grayLow = cvCreateImage(cvSize(x->image->width,x->image->height), IPL_DEPTH_8U, 1); x->grayUp = cvCreateImage(cvSize(x->image->width,x->image->height), IPL_DEPTH_8U, 1); - x->prev_gray = cvCreateImage( cvSize(x->image->width,x->image->height), 8, 1 ); + x->prev_image = cvCreateImage( cvSize(x->image->width,x->image->height), 8, 3 ); x->diff_8U = cvCreateImage( cvSize(x->image->width,x->image->height), 8, 1 );
return (void *)x;
Deleted: trunk/externals/pdp_opencv/pdp_opencv_contours_composition-help.pd =================================================================== --- trunk/externals/pdp_opencv/pdp_opencv_contours_composition-help.pd 2009-01-25 00:33:06 UTC (rev 10621) +++ trunk/externals/pdp_opencv/pdp_opencv_contours_composition-help.pd 2009-01-25 00:37:29 UTC (rev 10622) @@ -1,49 +0,0 @@ -#N canvas 0 51 521 599 10; -#X obj 101 158 pdp_xv; -#X msg 101 -138 open /dev/video0; -#X obj 101 -90 pdp_v4l2; -#X text 310 99 threshold value; -#X obj 373 365 pdp_opencv_contours; -#X obj 200 256 pdp_xv; -#X obj 375 397 pdp_xv; -#X obj 334 165 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 -1; -#X msg 243 165 mode $1; -#X text 353 165 switch open/close and erode/dilate modes; -#X floatatom 363 212 5 0 0 0 - - -; -#X floatatom 520 365 5 0 0 0 - - -; -#X floatatom 271 101 5 0 0 0 - - -; -#X obj 458 335 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 204 210 pdp_opencv_morphology; -#X obj 337 325 pdp_xv; -#X obj 471 234 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X msg 380 234 mode $1; -#X text 490 234 switch open/close and erode/dilate modes; -#X floatatom 500 281 5 0 0 0 - - -; -#X obj 341 279 pdp_opencv_morphology; -#X obj 22 81 pdp_xv; -#X text 231 22 threshold value; -#X msg 128 -17 set; -#X obj 22 22 pdp_opencv_bgsubstract; -#X floatatom 192 24 5 0 0 0 - - -; -#X obj 101 99 pdp_opencv_threshold; -#X connect 1 0 2 0; -#X connect 2 0 24 0; -#X connect 4 0 6 0; -#X connect 7 0 8 0; -#X connect 8 0 14 0; -#X connect 12 0 26 2; -#X connect 13 0 4 1; -#X connect 14 0 5 0; -#X connect 14 0 20 0; -#X connect 16 0 17 0; -#X connect 17 0 20 0; -#X connect 20 0 15 0; -#X connect 23 0 24 0; -#X connect 24 0 21 0; -#X connect 24 0 26 0; -#X connect 25 0 24 1; -#X connect 26 0 0 0; -#X connect 26 0 14 0;
Modified: trunk/externals/pdp_opencv/pdp_opencv_haarcascade.c =================================================================== --- trunk/externals/pdp_opencv/pdp_opencv_haarcascade.c 2009-01-25 00:33:06 UTC (rev 10621) +++ trunk/externals/pdp_opencv/pdp_opencv_haarcascade.c 2009-01-25 00:37:29 UTC (rev 10622) @@ -47,6 +47,7 @@ t_float x_f;
t_outlet *x_outlet0; + t_outlet *x_outlet1; t_outlet *x_dataout; int x_packet0; int x_packet1; @@ -149,6 +150,7 @@ x->scale_factor, x->min_neighbors, x->mode, cvSize(x->min_size, x->min_size) ); //t = (double)cvGetTickCount() - t; //printf( "detection time = %gms\n", t/((double)cvGetTickFrequency()*1000.) ); + outlet_float(x->x_outlet1, (float)faces->total); for( i = 0; i < (faces ? faces->total : 0); i++ ) { CvRect* r = (CvRect*)cvGetSeqElem( faces, i ); @@ -293,6 +295,7 @@ t_pdp_opencv_haarcascade *x = (t_pdp_opencv_haarcascade *)pd_new(pdp_opencv_haarcascade_class);
x->x_outlet0 = outlet_new(&x->x_obj, &s_anything); + x->x_outlet1 = outlet_new(&x->x_obj, &s_anything); x->x_dataout = outlet_new(&x->x_obj, &s_anything);
x->x_packet0 = -1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.