X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=samples%2Foctave%2Flaplace.m;fp=samples%2Foctave%2Flaplace.m;h=7324578e9cb44c2a39efe43f7b99cc546ce69e8c;hb=e4c14cdbdf2fe805e79cd96ded236f57e7b89060;hp=0000000000000000000000000000000000000000;hpb=454138ff8a20f6edb9b65a910101403d8b520643;p=opencv diff --git a/samples/octave/laplace.m b/samples/octave/laplace.m new file mode 100644 index 0000000..7324578 --- /dev/null +++ b/samples/octave/laplace.m @@ -0,0 +1,65 @@ +#! /usr/bin/env octave +addpath("/home/x/opencv2/interfaces/swig/octave"); +source("/home/x/opencv2/interfaces/swig/octave/PKG_ADD_template"); +debug_on_error(true); +debug_on_warning(true); +crash_dumps_octave_core (0) +cv; +highgui; + +laplace = []; +colorlaplace = []; +planes = { [], [], [] }; +capture = []; + +if (size(argv, 2)==0) + capture = cvCreateCameraCapture( -1 ); +elseif (size(argv, 2)==1 && all(isdigit(argv(){1}))) + capture = cvCreateCameraCapture( int32(argv(){1}) ); +elseif (size(argv, 2)==1) + capture = cvCreateFileCapture( argv(){1} ); +endif + +if (!swig_this(capture)) + printf("Could not initialize capturing...\n"); + exit(-1) +endif + +cvNamedWindow( "Laplacian", 1 ); + +while (true), + frame = cvQueryFrame( capture ); + if (!swig_this(frame)) + break + endif + + if (!swig_this(laplace)) + for i=1:size(planes,2), + planes{i} = cvCreateImage( \ + cvSize(frame.width,frame.height), \ + 8, 1 ); + endfor + laplace = cvCreateImage( cvSize(frame.width,frame.height), IPL_DEPTH_16S, 1 ); + colorlaplace = cvCreateImage( \ + cvSize(frame.width,frame.height), \ + 8, 3 ); + endif + + cvSplit( frame, planes{1}, planes{2}, planes{3}, [] ); + for plane = planes, + plane = plane{1}; + cvLaplace( plane, laplace, 3 ); + cvConvertScaleAbs( laplace, plane, 1, 0 ); + endfor + + cvMerge( planes{1}, planes{2}, planes{3}, [], colorlaplace ); +# colorlaplace.origin = frame.origin; + + cvShowImage("Laplacian", colorlaplace ); + + if (cvWaitKey(10) == 27) + break; + endif +endwhile + +cvDestroyWindow("Laplacian");