mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.8 KiB
50 lines
1.8 KiB
#!/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");
|
|
|