sigmaColor = cvparam_dict['colorKernelSize'].value sigmaSpace = cvparam_dict['spaceKernelSize'].value imgCopy = cv2.bilateralFilter(img, d=d, sigmaColor=sigmaColor, sigmaSpace=sigmaSpace) cvparams.annotateImageWithParams(cvparam_dict, imgCopy) cv2.imshow('results', imgCopy) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['filterSize'] = cvparams.kernelparam("Filter Size", 100, 11, updateImage) cvparam_dict['spaceKernelSize'] = cvparams.kernelparam( "Space Kernel Size", 150, 109, updateImage) cvparam_dict['colorKernelSize'] = cvparams.kernelparam( "Color Kernel Size", 150, 109, updateImage) import argparse parser = argparse.ArgumentParser( description="Apply bilateral (edge preserving) blur operator.") parser.add_argument('file', help='image to blur (wildcards ok)', type=str) # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args)
import sliderparam as cvparams def updateImage(): d = cvparam_dict['filterSize'].value sigmaColor = cvparam_dict['colorKernelSize'].value sigmaSpace = cvparam_dict['spaceKernelSize'].value imgCopy = cv2.bilateralFilter(img, d=d, sigmaColor=sigmaColor, sigmaSpace=sigmaSpace) cvparams.annotateImageWithParams(cvparam_dict, imgCopy) cv2.imshow('results', imgCopy) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['filterSize'] = cvparams.kernelparam("Filter Size", 100, 11, updateImage) cvparam_dict['spaceKernelSize'] = cvparams.kernelparam("Space Kernel Size", 150, 109, updateImage) cvparam_dict['colorKernelSize'] = cvparams.kernelparam("Color Kernel Size", 150, 109, updateImage) import argparse parser = argparse.ArgumentParser(description="Apply bilateral (edge preserving) blur operator.") parser.add_argument('file', help='image to blur (wildcards ok)', type=str) # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename)
image = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel=st, iterations=iter) cv2.imshow('results', image) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['iterations'] = cvparam.sliderparam("Iterations", 5, 1, updateImage) cvparam_dict['shape'] = cvparam.sliderparam("K Ellipse/Rect/Cross", 2, 1, updateImage) cvparam_dict['size'] = cvparam.kernelparam("K Size", 21, 5, updateImage) import argparse parser = argparse.ArgumentParser( description= "Interactively experiment with morphology gradient parameters.") parser.add_argument('file', help='image to threshold', type=str) # add a command line parameter for every slider parameter cvparam.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparam.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename)
imag /= 2 imag[edges != 0] = (0, 255, 0) cvparams.annotateImageWithParams(cvparam_dict, imag) cv2.imshow('results', imag) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['threshold1'] = cvparams.sliderparam("Threshold1", 2000, 500, updateImage) cvparam_dict['threshold2'] = cvparams.sliderparam("Threshold2", 2000, 2000, updateImage) cvparam_dict['aperture'] = cvparams.kernelparam("Aperture (3, 5, 7)", 7, 5, updateImage) import argparse parser = argparse.ArgumentParser( description="Interactively experiment with Canny operator.") parser.add_argument('file', help='image to threshold (wildcard ok)', type=str) parser.add_argument('--blur', help='blur preprocessing', action='store_true') # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args)
adaptiveMethod=threshMethod, thresholdType=threshType, blockSize=blockSize, C=c) cv2.imshow('results', image) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['useGaussian'] = cvparam.sliderparam("Use Gaussian", 1, 1, updateImage) cvparam_dict['invert'] = cvparam.sliderparam("Invert", 1, 0, updateImage) cvparam_dict['c'] = cvparam.sliderparam("C", 30, 5, updateImage) cvparam_dict['blockSize'] = cvparam.kernelparam("Block Size (3,5,..)", 21, 5, updateImage) import argparse parser = argparse.ArgumentParser( description= "Interactively experiment with adaptiveThreshold parameters.") parser.add_argument('file', help='image to threshold', type=str) # add a command line parameter for every slider parameter cvparam.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparam.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename)
blockSize = cvparam_dict['blockSize'].value threshMethod = cv2.ADAPTIVE_THRESH_GAUSSIAN_C if cvparam_dict['useGaussian'].value > 0 else cv2.ADAPTIVE_THRESH_MEAN_C threshType = cv2.THRESH_BINARY_INV if cvparam_dict['invert'].value > 0 else cv2.THRESH_BINARY image = cv2.adaptiveThreshold(img, maxValue=255, adaptiveMethod=threshMethod, thresholdType=threshType, blockSize=blockSize, C=c) cv2.imshow('results', image) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['useGaussian'] = cvparam.sliderparam("Use Gaussian", 1, 1, updateImage) cvparam_dict['invert'] = cvparam.sliderparam("Invert", 1, 0, updateImage) cvparam_dict['c'] = cvparam.sliderparam("C", 30, 5, updateImage) cvparam_dict['blockSize'] = cvparam.kernelparam("Block Size (3,5,..)", 21, 5, updateImage) import argparse parser = argparse.ArgumentParser(description="Interactively experiment with adaptiveThreshold parameters.") parser.add_argument('file', help='image to threshold', type=str) # add a command line parameter for every slider parameter cvparam.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparam.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename) assert img is not None, "File " + args.file + " was not found." img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
def updateImage(): destDepth = cv2.CV_32F; # should be higher than source depth to avoid overflow imgCopy = cv2.Sobel(img, ddepth=destDepth, dx=cvparam_dict['dx'].value, dy=cvparam_dict['dy'].value, ksize=cvparam_dict['kernelSize'].value, scale=cvparam_dict['scale'].value, delta=cvparam_dict['delta'].value) cvparams.annotateImageWithParams(cvparam_dict, imgCopy) cv2.imshow('results', imgCopy) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['dx'] = cvparams.sliderparam("dx", 2, 1, updateImage) cvparam_dict['dy'] = cvparams.sliderparam("dy", 2, 1, updateImage) cvparam_dict['kernelSize'] = cvparams.kernelparam("Kernel (3, 5,..)", 21, 5, updateImage) cvparam_dict['delta'] = cvparams.sliderparam("delta", 5, 0, updateImage) cvparam_dict['scale'] = cvparams.sliderparam("scale", 2, 1, updateImage) import argparse parser = argparse.ArgumentParser(description="Apply Sobel operator.") parser.add_argument('file', help='image to process', type=str) # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename)
elif cvparam_dict['shape'].value == 1: shape = cv2.MORPH_RECT else: shape = cv2.MORPH_CROSS st = cv2.getStructuringElement(shape, (size, size)) image = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel=st, iterations=iter) cv2.imshow('results', image) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['iterations'] = cvparam.sliderparam("Iterations", 5, 1, updateImage) cvparam_dict['shape'] = cvparam.sliderparam("K Ellipse/Rect/Cross", 2, 1, updateImage) cvparam_dict['size'] = cvparam.kernelparam("K Size", 21, 5, updateImage) import argparse parser = argparse.ArgumentParser(description="Interactively experiment with morphology gradient parameters.") parser.add_argument('file', help='image to threshold', type=str) # add a command line parameter for every slider parameter cvparam.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparam.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename) assert img is not None, "File " + args.file + " was not found." # img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
def updateImage(): imgCopy = cv2.GaussianBlur(img, (cvparam_dict['kernelWidth'].value, cvparam_dict['kernelHeight'].value), cvparam_dict['sigmaY'].value) cvparams.annotateImageWithParams(cvparam_dict, imgCopy) cv2.imshow('results', imgCopy) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['kernelWidth'] = cvparams.kernelparam("Kernel X (3,5,..)", 51, 5, updateImage) cvparam_dict['kernelHeight'] = cvparams.kernelparam( "Kernel Y (3,5,..)", 51, 5, updateImage) cvparam_dict['sigmaY'] = cvparams.sliderparam("Sigma Y", 7, 0, updateImage) import argparse parser = argparse.ArgumentParser( description="Interactively experiment with blur operator.") parser.add_argument('file', help='image to threshold', type=str) # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args) from glob import glob
import numpy as np import cv2 import sliderparam as cvparams def updateImage(): w = cvparam_dict['kernelSize'].value imgCopy = cv2.medianBlur(img, w) cvparams.annotateImageWithParams(cvparam_dict, imgCopy) cv2.imshow('results', imgCopy) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['kernelSize'] = cvparams.kernelparam("Kernel X (3,5..)", 51, 5, updateImage) import argparse parser = argparse.ArgumentParser(description="Apply median blur operator.") parser.add_argument('file', help='image to threshold', type=str) # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename) assert img is not None, "File " + args.file + " was not found." h, w = img.shape[:2]
imag = img.copy() imag /= 2 imag[edges != 0] = (0, 255, 0) cvparams.annotateImageWithParams(cvparam_dict, imag) cv2.imshow('results', imag) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['threshold1'] = cvparams.sliderparam("Threshold1", 2000, 500, updateImage) cvparam_dict['threshold2'] = cvparams.sliderparam("Threshold2", 2000, 2000, updateImage) cvparam_dict['aperture'] = cvparams.kernelparam("Aperture (3, 5, 7)", 7, 5, updateImage) import argparse parser = argparse.ArgumentParser(description="Interactively experiment with Canny operator.") parser.add_argument('file', help='image to threshold (wildcard ok)', type=str) parser.add_argument('--blur', help='blur preprocessing', action='store_true') # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename)
dy=cvparam_dict['dy'].value, ksize=cvparam_dict['kernelSize'].value, scale=cvparam_dict['scale'].value, delta=cvparam_dict['delta'].value) cvparams.annotateImageWithParams(cvparam_dict, imgCopy) cv2.imshow('results', imgCopy) if __name__ == '__main__': print __doc__ cvparam_dict = {} cvparam_dict['dx'] = cvparams.sliderparam("dx", 2, 1, updateImage) cvparam_dict['dy'] = cvparams.sliderparam("dy", 2, 1, updateImage) cvparam_dict['kernelSize'] = cvparams.kernelparam("Kernel (3, 5,..)", 21, 5, updateImage) cvparam_dict['delta'] = cvparams.sliderparam("delta", 5, 0, updateImage) cvparam_dict['scale'] = cvparams.sliderparam("scale", 2, 1, updateImage) import argparse parser = argparse.ArgumentParser(description="Apply Sobel operator.") parser.add_argument('file', help='image to process', type=str) # add a command line parameter for every slider parameter cvparams.addCommandLineArgs(cvparam_dict, parser) args = parser.parse_args() cvparams.setValuesFromCommandLine(cvparam_dict, args) from glob import glob for filename in glob(args.file): img = cv2.imread(filename)