Esempio n. 1
0
def hls_unsharp_mask(image, amount, radius, threshold):
    sigma = 0.2
    copy = cv2.cvtColor(image, cv2.COLOR_RGB2HLS)
    (h, l, s) = cv2.split(copy)
    blurred = filters.gaussian_blur(l, 2 * radius + 1, sigma)
    mask = cv2.absdiff(blurred, l)
    print 255.0 / mask.max()
    mask = np.array(mask * (255.0 / mask.max()), dtype="uint8")
    (dummy, mask) = cv2.threshold(mask, threshold, 255, cv2.THRESH_TOZERO)
    cv2.imshow("mask", mask)
    cv2.imshow("l before", l)
    corrected = filters.simplest_color_balance(l, 10, 10)
    # corrected = l * (1 + amount) - blurred * amount
    cv2.imshow("corrected", corrected)
    l = blend(l, corrected, mask)
    cv2.imshow("l after", l)
    copy = cv2.merge((h, l, s))
    result = cv2.cvtColor(copy, cv2.COLOR_HLS2RGB)
    return result
Esempio n. 2
0
def hls_unsharp_mask(image, amount, radius, threshold):
    sigma = 0.2
    copy = cv2.cvtColor(image, cv2.COLOR_RGB2HLS)
    (h, l, s) = cv2.split(copy)
    blurred = filters.gaussian_blur(l, 2 * radius + 1, sigma)
    mask = cv2.absdiff(blurred, l)
    print 255.0 / mask.max()
    mask = np.array(mask * (255.0 / mask.max()), dtype='uint8')
    (dummy, mask) = cv2.threshold(mask, threshold, 255, cv2.THRESH_TOZERO)
    cv2.imshow('mask', mask)
    cv2.imshow('l before', l)
    corrected = filters.simplest_color_balance(l, 10, 10)
    #corrected = l * (1 + amount) - blurred * amount
    cv2.imshow('corrected', corrected)
    l = blend(l, corrected, mask)
    cv2.imshow('l after', l)
    copy = cv2.merge((h, l, s))
    result = cv2.cvtColor(copy, cv2.COLOR_HLS2RGB)
    return result
Esempio n. 3
0
def unsharp_mask(image, amount, radius, threshold):
    sigma = 0.15
    copy = image.copy()
    cv2.imshow("copy", copy)
    converted = cv2.cvtColor(copy, cv2.COLOR_RGB2GRAY)
    blurred = filters.gaussian_blur(converted, 2 * radius + 1, sigma)
    cv2.imshow("blurred", blurred)
    # blurred = cv2.blur(converted, tuple([2*radius + 1]*2))
    mask = cv2.absdiff(blurred, converted)
    mask = np.array(mask * (255.0 / mask.max()), dtype="uint8")
    (dummy, mask) = cv2.threshold(mask, threshold, 255, cv2.THRESH_TOZERO)
    cv2.imshow("mask", mask)
    corrected = filters.simplest_color_balance(copy, 15, 15, mask)
    # corrected = image.copy() * 0
    print corrected
    # cv2.imshow('corrected', corrected)
    result = blend(copy, corrected, mask)
    # result = cv2.resize(image, (width, height))
    return result
Esempio n. 4
0
def unsharp_mask(image, amount, radius, threshold):
    sigma = 0.15
    copy = image.copy()
    cv2.imshow('copy', copy)
    converted = cv2.cvtColor(copy, cv2.COLOR_RGB2GRAY)
    blurred = filters.gaussian_blur(converted, 2 * radius + 1, sigma)
    cv2.imshow('blurred', blurred)
    #blurred = cv2.blur(converted, tuple([2*radius + 1]*2))
    mask = cv2.absdiff(blurred, converted)
    mask = np.array(mask * (255.0 / mask.max()), dtype='uint8')
    (dummy, mask) = cv2.threshold(mask, threshold, 255, cv2.THRESH_TOZERO)
    cv2.imshow('mask', mask)
    corrected = filters.simplest_color_balance(copy, 15, 15, mask)
    #corrected = image.copy() * 0
    print corrected
    #cv2.imshow('corrected', corrected)
    result = blend(copy, corrected, mask)
    #result = cv2.resize(image, (width, height))
    return result