--- /dev/null
+#!/usr/bin/python
+import sys
+from opencv.cv import *
+from opencv.highgui import *
+src = 0;
+image = 0;
+dest = 0;
+element = 0;
+element_shape = CV_SHAPE_RECT;
+global_pos = 0;
+
+def Opening(pos):
+ element = cvCreateStructuringElementEx( pos*2+1, pos*2+1, pos, pos, element_shape, None );
+ cvErode(src,image,element,1);
+ cvDilate(image,dest,element,1);
+ cvShowImage("Opening&Closing window",dest);
+def Closing(pos):
+ element = cvCreateStructuringElementEx( pos*2+1, pos*2+1, pos, pos, element_shape, None );
+ cvDilate(src,image,element,1);
+ cvErode(image,dest,element,1);
+ cvShowImage("Opening&Closing window",dest);
+def Erosion(pos):
+ element = cvCreateStructuringElementEx( pos*2+1, pos*2+1, pos, pos, element_shape, None );
+ cvErode(src,dest,element,1);
+ cvShowImage("Erosion&Dilation window",dest);
+def Dilation(pos):
+ element = cvCreateStructuringElementEx( pos*2+1, pos*2+1, pos, pos, element_shape, None );
+ cvDilate(src,dest,element,1);
+ cvShowImage("Erosion&Dilation window",dest);
+
+if __name__ == "__main__":
+ filename = "../c/baboon.jpg"
+ if len(sys.argv)==2:
+ filename = sys.argv[1]
+ src = cvLoadImage(filename,1)
+ if not src:
+ sys.exit(-1)
+ image = cvCloneImage(src);
+ dest = cvCloneImage(src);
+ cvNamedWindow("Opening&Closing window",1);
+ cvNamedWindow("Erosion&Dilation window",1);
+ cvShowImage("Opening&Closing window",src);
+ cvShowImage("Erosion&Dilation window",src);
+ cvCreateTrackbar("Open","Opening&Closing window",global_pos,10,Opening);
+ cvCreateTrackbar("Close","Opening&Closing window",global_pos,10,Closing);
+ cvCreateTrackbar("Dilate","Erosion&Dilation window",global_pos,10,Dilation);
+ cvCreateTrackbar("Erode","Erosion&Dilation window",global_pos,10,Erosion);
+ cvWaitKey(0);
+ cvDestroyWindow("Opening&Closing window");
+ cvDestroyWindow("Erosion&Dilation window");