mirror of
https://github.com/opencv/opencv.git
synced 2024-12-05 01:39:13 +08:00
be63ce723f
updated links in cheatsheet renamed directory for Mat tutorial changed links from willow docs to opencv.itseez.com, from Trac to current Redmine
53 lines
2.0 KiB
Python
Executable File
53 lines
2.0 KiB
Python
Executable File
#!/usr/bin/python
|
|
import sys
|
|
import urllib2
|
|
import cv2.cv as cv
|
|
|
|
src = 0
|
|
image = 0
|
|
dest = 0
|
|
element_shape = cv.CV_SHAPE_RECT
|
|
|
|
def Opening(pos):
|
|
element = cv.CreateStructuringElementEx(pos*2+1, pos*2+1, pos, pos, element_shape)
|
|
cv.Erode(src, image, element, 1)
|
|
cv.Dilate(image, dest, element, 1)
|
|
cv.ShowImage("Opening & Closing", dest)
|
|
def Closing(pos):
|
|
element = cv.CreateStructuringElementEx(pos*2+1, pos*2+1, pos, pos, element_shape)
|
|
cv.Dilate(src, image, element, 1)
|
|
cv.Erode(image, dest, element, 1)
|
|
cv.ShowImage("Opening & Closing", dest)
|
|
def Erosion(pos):
|
|
element = cv.CreateStructuringElementEx(pos*2+1, pos*2+1, pos, pos, element_shape)
|
|
cv.Erode(src, dest, element, 1)
|
|
cv.ShowImage("Erosion & Dilation", dest)
|
|
def Dilation(pos):
|
|
element = cv.CreateStructuringElementEx(pos*2+1, pos*2+1, pos, pos, element_shape)
|
|
cv.Dilate(src, dest, element, 1)
|
|
cv.ShowImage("Erosion & Dilation", dest)
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) > 1:
|
|
src = cv.LoadImage(sys.argv[1], cv.CV_LOAD_IMAGE_COLOR)
|
|
else:
|
|
url = 'http://code.opencv.org/svn/opencv/trunk/opencv/samples/c/fruits.jpg'
|
|
filedata = urllib2.urlopen(url).read()
|
|
imagefiledata = cv.CreateMatHeader(1, len(filedata), cv.CV_8UC1)
|
|
cv.SetData(imagefiledata, filedata, len(filedata))
|
|
src = cv.DecodeImage(imagefiledata, cv.CV_LOAD_IMAGE_COLOR)
|
|
|
|
image = cv.CloneImage(src)
|
|
dest = cv.CloneImage(src)
|
|
cv.NamedWindow("Opening & Closing", 1)
|
|
cv.NamedWindow("Erosion & Dilation", 1)
|
|
cv.ShowImage("Opening & Closing", src)
|
|
cv.ShowImage("Erosion & Dilation", src)
|
|
cv.CreateTrackbar("Open", "Opening & Closing", 0, 10, Opening)
|
|
cv.CreateTrackbar("Close", "Opening & Closing", 0, 10, Closing)
|
|
cv.CreateTrackbar("Dilate", "Erosion & Dilation", 0, 10, Dilation)
|
|
cv.CreateTrackbar("Erode", "Erosion & Dilation", 0, 10, Erosion)
|
|
cv.WaitKey(0)
|
|
cv.DestroyWindow("Opening & Closing")
|
|
cv.DestroyWindow("Erosion & Dilation")
|