Example #1
0
def blurThenUnsharpen(img_path, sds, filename):
    img = io.imread(img_path, as_grey=True)
    for sd in sds:
        print 'Sigma:', str(sd)
        blurred = filters.gaussian_filter(img, sd)
        custom_utils.plot_im_grey(blurred,
                                  'Blurred where sigma is ' + str(sd),
                                  'Q1/blurred_' + filename + '_' + str(sd) + '.png')
        unsharpened = UnsharpMasking(blurred, sd)
        unsharpened = np.clip(unsharpened, 0, 1)
        custom_utils.plot_im_grey(unsharpened,
                                  'Unsharpen Masking where sigma is ' + str(sd),
                                  'Q1/part5_' + filename + '_' + str(sd) + '.png')
Example #2
0
def RunFilters(img, filename, plot_title):
    dfilt_img = DistanceFilter(img)
    pfilt_img = PixelFilter(img)
    cfilt_img = ComboFilter(img)

    custom_utils.plot_im_grey(dfilt_img,
                              plot_title + "Distance Filtered",
                              filename + '_distance.png')

    custom_utils.plot_im_grey(pfilt_img,
                              plot_title + 'Pixel Filtered',
                              filename + '_pixel.png')

    custom_utils.plot_im_grey(cfilt_img,
                              plot_title + 'Combo Filtered',
                              filename + '_combo.png')
Example #3
0
    print 'Gradiant Magnitude @ Center', g_mag[2][2]
    print 'Gradiant Direction @ Center', g_dir[2][2]

    images = ['Images/Q1/cameraman.jpg',
              'Images/Q1/house.jpg',
              'Images/Q1/lena.jpg']

    # Part 4
    for image in images:
        img = io.imread(image, as_grey=True)
        fn = image.split('/')[-1]
        print fn
        filename = 'Q1/part4_nonoise_' + fn
        plot_title = 'No Noise - '
        RunFilters(img, filename, plot_title)
        noisy = custom_utils.AddNoise(img)
        filename = 'Q1/' + fn + '_noisy.png'
        custom_utils.plot_im_grey(noisy,
                                  "Noise - No Filter",
                                  filename)
        filename = 'Q1/part4_noise_' + fn
        plot_title = 'Gaussian Noise - '
        RunFilters(noisy, filename, plot_title)

    # Part 5
    sds = [0.75, 2.5]
    for image in images:
        fn = image.split('/')[-1]
        print fn
        blurThenUnsharpen(image, sds, fn)