mirror of
https://github.com/opencv/opencv.git
synced 2024-12-11 14:39:11 +08:00
66 lines
1.5 KiB
Mathematica
66 lines
1.5 KiB
Mathematica
|
#! /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");
|