Update to 2.0.0 tree from current Fremantle build
[opencv] / samples / octave / logpolar.m
1 #! /usr/bin/env octave
2 cv;
3 highgui;
4
5 global g;
6 g.src=[];
7 g.dst=[];
8 g.src2=[];
9
10 function on_mouse( event, x, y, flags, param )
11   global g;
12   global cv;
13   global highgui;
14
15   if(!swig_this(g.src) )
16     return;
17   endif
18
19   if (event==highgui.CV_EVENT_LBUTTONDOWN)
20     cvLogPolar( g.src, g.dst, cvPoint2D32f(x,y), 40, cv.CV_INTER_LINEAR+cv.CV_WARP_FILL_OUTLIERS );
21     cvLogPolar( g.dst, g.src2, cvPoint2D32f(x,y), 40, cv.CV_INTER_LINEAR+cv.CV_WARP_FILL_OUTLIERS+cv.CV_WARP_INVERSE_MAP );
22     cvShowImage( "log-polar", g.dst );
23     cvShowImage( "inverse log-polar", g.src2 );
24   endif
25 endfunction
26
27 filename = "../c/fruits.jpg"
28 if (size(argv, 1)>1)
29   filename=argv(){1};
30 endif
31
32 g.src = cvLoadImage(filename,1);
33 if (!swig_this(g.src))
34   printf("Could not open %s",filename);
35   exit(-1)
36 endif
37
38 cvNamedWindow( "original",1 );
39 cvNamedWindow( "log-polar", 1 );
40 cvNamedWindow( "inverse log-polar", 1 );
41
42
43 g.dst = cvCreateImage( cvSize(256,256), 8, 3 );
44 g.src2 = cvCreateImage( cvGetSize(g.src), 8, 3 );
45
46 cvSetMouseCallback( "original", @on_mouse );
47 on_mouse( CV_EVENT_LBUTTONDOWN, g.src.width/2, g.src.height/2, [], []);
48
49 cvShowImage( "original", g.src );
50 cvWaitKey();