"atomic bomb" commit. Reorganized OpenCV directory structure
This commit is contained in:
59
samples/swig_python/pyramid_segmentation.py
Executable file
59
samples/swig_python/pyramid_segmentation.py
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/python
|
||||
import sys
|
||||
from opencv.cv import *
|
||||
from opencv.highgui import *
|
||||
image = [None, None]
|
||||
image0 = None
|
||||
image1 = None
|
||||
threshold1 = 255
|
||||
threshold2 = 30
|
||||
l = level = 4;
|
||||
block_size = 1000;
|
||||
filter = CV_GAUSSIAN_5x5;
|
||||
storage = None
|
||||
min_comp = CvConnectedComp()
|
||||
|
||||
def set_thresh1( val ):
|
||||
global threshold1
|
||||
threshold1 = val
|
||||
ON_SEGMENT()
|
||||
|
||||
def set_thresh2( val ):
|
||||
global threshold2
|
||||
threshold2 = val
|
||||
ON_SEGMENT()
|
||||
|
||||
def ON_SEGMENT():
|
||||
global storage
|
||||
global min_comp
|
||||
comp = cvPyrSegmentation(image0, image1, storage, level, threshold1+1, threshold2+1);
|
||||
cvShowImage("Segmentation", image1);
|
||||
|
||||
if __name__ == "__main__":
|
||||
filename = "../c/fruits.jpg";
|
||||
if len(sys.argv) == 2:
|
||||
filename = sys.argv[1]
|
||||
image[0] = cvLoadImage( filename, 1)
|
||||
if not image[0]:
|
||||
print "Error opening %s" % filename
|
||||
sys.exit(-1)
|
||||
|
||||
cvNamedWindow("Source", 0);
|
||||
cvShowImage("Source", image[0]);
|
||||
cvNamedWindow("Segmentation", 0);
|
||||
storage = cvCreateMemStorage ( block_size );
|
||||
image[0].width &= -(1<<level);
|
||||
image[0].height &= -(1<<level);
|
||||
image0 = cvCloneImage( image[0] );
|
||||
image1 = cvCloneImage( image[0] );
|
||||
# segmentation of the color image
|
||||
l = 1;
|
||||
threshold1 =255;
|
||||
threshold2 =30;
|
||||
ON_SEGMENT();
|
||||
sthreshold1 = cvCreateTrackbar("Threshold1", "Segmentation", threshold1, 255, set_thresh1);
|
||||
sthreshold2 = cvCreateTrackbar("Threshold2", "Segmentation", threshold2, 255, set_thresh2);
|
||||
cvShowImage("Segmentation", image1);
|
||||
cvWaitKey(0);
|
||||
cvDestroyWindow("Segmentation");
|
||||
cvDestroyWindow("Source");
|
Reference in New Issue
Block a user