今日はトラックバーの付け方とガウシアンフィルタの掛け方です。
OpenCV 2.4.2で動作確認しています。
トラックバー
"""python-opencv tutorial Create trackbar control. Usage: 03_trackbar.py """ #import opencv library import cv2 import numpy #Trackbar callback function def onTrackbarChange(trackbarValue): imgshape=fullcolorimage.shape fimg=numpy.zeros(imgshape,numpy.uint8) colorval=trackbarValue*10 diff=trackbarValue*10 xcenter=imgshape[1]/2 ycenter=imgshape[0]/2 color=(colorval,colorval,colorval) cv2.rectangle(fimg, (xcenter-diff, ycenter-diff), (xcenter+diff, ycenter+diff), color, -1) cv2.imshow(windowName, fimg) imgwidth=640 imgheight=480 fullcolorimage = numpy.zeros((imgheight,imgwidth,3),numpy.uint8) windowName="TrackbarSample" cv2.namedWindow(windowName) onTrackbarChange(0) #createTrackbar(...) # createTrackbar(trackbarName, windowName, value, count, onChange) -> None cv2.createTrackbar( 'Trackbarname', windowName, 0, 25, onTrackbarChange ) cv2.waitKey() cv2.destroyAllWindows()
ガウシアンフィルタの例
""" python-opencv tutorial Gaussian filter sample script. Usage: 04_smooth.py imagename """ #import opencv library import cv2 import sys import numpy argvs=sys.argv if (len(argvs) != 2): print 'Usage: # python %s filename' % argvs[0] quit() imagefilename = argvs[1] try: img=cv2.imread(imagefilename, 1) except: print 'faild to load %s' % imagefilename quit() #GaussianBlur(...) # GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst # ksize must pair of odd. (5,5),(7,7),(9,9)... bluredimg=cv2.GaussianBlur(img,(11,11),0) cv2.imshow('Gaussian',bluredimg) cv2.imshow('Source',img) cv2.waitKey(0) cv2.destroyAllWindows()
以前はcvSmoothの引数でCV_GAUSSIAN的なものを指定していたのですが、ガウシアンが独立した関数になったようですね。
チュートリアルが貯まってきたらgitHubかどこかにあげようかな〜と思います。
ではまた。
0 件のコメント:
コメントを投稿