Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
                                  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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0

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
Exemplo n.º 10
0
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]
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
                        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)