Move the sources to trunk
[opencv] / samples / python / laplace.py
1 #!/usr/bin/python
2 from opencv.cv import *
3 from opencv.highgui import *
4 import sys
5
6 if __name__ == "__main__":
7     laplace = None
8     colorlaplace = None
9     planes = [ None, None, None ];
10     capture = None
11     
12     if len(sys.argv)==1:
13         capture = cvCreateCameraCapture( 0 )
14     elif len(sys.argv)==2 and sys.argv[1].isdigit():
15         capture = cvCreateCameraCapture( int(sys.argv[1]) )
16     elif len(sys.argv)==2:
17         capture = cvCreateFileCapture( sys.argv[1] ); 
18
19     if not capture:
20         print "Could not initialize capturing..."
21         sys.exit(-1)
22         
23     cvNamedWindow( "Laplacian", 1 );
24
25     while True:
26         frame = cvQueryFrame( capture );
27         if not frame:
28             break
29
30         if not laplace:
31             for i in range( len(planes) ):
32                 planes[i] = cvCreateImage( cvSize(frame.width,frame.height), 8, 1 );
33             laplace = cvCreateImage( cvSize(frame.width,frame.height), IPL_DEPTH_16S, 1 );
34             colorlaplace = cvCreateImage( cvSize(frame.width,frame.height), 8, 3 );
35
36         cvSplit( frame, planes[0], planes[1], planes[2], None );
37         for plane in planes:
38             cvLaplace( plane, laplace, 3 );
39             cvConvertScaleAbs( laplace, plane, 1, 0 );
40
41         cvMerge( planes[0], planes[1], planes[2], None, colorlaplace );
42         colorlaplace.origin = frame.origin;
43
44         cvShowImage("Laplacian", colorlaplace );
45
46         if cvWaitKey(10) != -1:
47             break;
48
49     cvDestroyWindow("Laplacian");