예제 #1
0
def add_motion_blur(image, kernel_size, angle):
    """
    adds motion blur at given angel to the image.
    :param image: image
    :param kernel_size: int
    :param angle: an angle in radians in the range [0, pi).
    :return: blurred image
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    return scipy.ndimage.filters.convolve(image, kernel)
예제 #2
0
def add_motion_blur(image, kernel_size, angle):
    """
    A method for adding a motion blur effect to the image
    :param image: the image to blur
    :param kernel_size: the size of the kernel with which we convolve
    :param angle: the angle of the motion blur to perform
    :return: a blurred picture
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    return ndimage.filters.convolve(image, kernel)
예제 #3
0
def add_motion_blur(image, kernel_size, angle):
    """
    :param image: an image to blur
    :param kernel_size: size for the blur kernel
    :param angle: an angle between zero to PI
    :return: blurred image
    """

    return ndimage.filters.convolve(
        image, util.motion_blur_kernel(kernel_size, angle))
def add_motion_blur(image, kernel_size, angle):
    """
    simulate motion blur on the given image using a square kernel of size kernel_size where the line has the given
    angle in radians, measured relative to the positive horizontal axis, e.g. a horizontal line would have a zero angle
    :param image: a grayscale image with values in the [0, 1] range of type float64.
    :param kernel_size: an odd integer specifying the size of the kernel (even integers are ill-defined).
    :param angle: an angle in radians in the range [0, π).
    :return: corrupted image
    """
    corr_image = convolve(image, sol5_utils.motion_blur_kernel(kernel_size, angle))
    return (np.around(corr_image * 255) / 255).clip(0, 1)
예제 #5
0
def add_motion_blur(image, kernel_size, angle):
    """
    Simulate motion blur on the given image using a square kernel with the size "kernel_size" where the line
    has the given angle in radians, measured relative to the positive horizontal axis.
    :param image:  a gray image with values in the range of [0, 1] with type float64.
    :param kernel_size:  an odd integer specifying the size of the kernel (even integers are ill-defined).
    :param angle: an angle in radians with the range [0, π).
    :return: image with motion blur.
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    return convolve(image, kernel).astype(np.float64)
def add_motion_blur(image, kernel_size, angle):
    '''
    this function receives an image and performs a given motion blur on it
    :param image: a grayscale image with values in the [0,1] range of type float64
    :param kernel_size: an odd integer specifying the size of the kernel (even integers are ill-defined
    :param angle: an angle in radians in the range [0,Pi]
    :return: a motion blurred image
    '''
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    blurred_img = convolve(image, kernel)
    return blurred_img
예제 #7
0
def add_motion_blur(image, kernel_size, angle):
    """
    Adds motion blur to an image.
    :param image: a grayscale image with values in the [0, 1] range of type float64
    :param kernel_size: an odd integer specifying the size of the kernel
    :param angle: an angle in radians in the range [0, pi)
    :return: the blurred image
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    corrupted = convolve(image, kernel)
    return corrupted
예제 #8
0
def add_motion_blur(image: np.ndarray, kernel_size: int,
                    angle: float) -> np.ndarray:
    """
    simulate motion blurring on a given image
    :param image: a grayscale image with values in the [0, 1] range
    :param kernel_size: an odd integer specifying the size of the kernel
    :param angle: an angle in radians in the range [0, PI)
    :return: motion blurred image
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    blurred = filters.convolve(image, kernel, mode='mirror')
    return blurred.astype(np.float32)
예제 #9
0
파일: sol5.py 프로젝트: orwawat/ImageProc
def add_motion_blur(image, kernel_size, angle):
    """
    The function add_motion_blur simulates motion blur on the given image using a square kernel
    of size kernel_size where the line (as described above) has the given angle in radians, measured
    relative to the positive horizontal axis, e.g. a horizontal line would have a zero angle, and for the
    figure above the angle would be 3π/4 (or 135◦ in degrees).
    :param image: a grayscale image with values in the [0, 1] range of type float32.
    :param kernel_size: an odd integer specifying the size of the kernel (even integers are ill-defined).
    :param angle: an angle in radians in the range [0, π).
    :return: corrupted - The corrupted image
    """
    ker = sol5_utils.motion_blur_kernel(kernel_size, angle)
    return convolve(image, ker, mode='reflect').astype(np.float32)
def add_motion_blur(image, kernel_size, angle):
    '''
    Adding motion blur to a given image
    :param image:Grayscale image in the [0,1] range of float64
    :param kernel_size: The size of the kernel.An ood integer
    :param angle: angle in range [0,pi)
    :return: Image blurred
    '''
    blur_kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    corrupted = convolve(image, blur_kernel)
    corrupted = np.divide(np.round(corrupted * (255)), (255))
    corrupted = np.clip(corrupted, 0, 1)
    return corrupted
예제 #11
0
def add_motion_blur(image, kernel_size, angle):
    """
    Adds a motion blur to an image according to angle and kernel size.
    :param image: a grayscale image with values in the [0, 1] range of type float64
    :type image: np array
    :param kernel_size: an odd integer specifying the size of the kernel (even integers are ill-defined)
    :type kernel_size: int
    :param angle: an angle in radians in the range [0, π).
    :type angle: radians
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)

    return scipy.ndimage.filters.convolve(image, kernel)
예제 #12
0
파일: sol5.py 프로젝트: orwawat/IMPR_HUJI
def add_motion_blur(image, kernel_size, angle):
    """
    adds motion blur to an image.
    :param image: a grayscale image with values in the [0, 1] range of type float64.
    :param kernel_size: an odd integer specifying the size of the kernel
    :param angle: an angle in radians in the range [0 ,π)
    :return: The corrupted image
    """
    motion_blur_kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    blurred_image = scipy.ndimage.filters.convolve(image,
                                                   motion_blur_kernel,
                                                   mode='nearest')
    return np.clip(np.round(blurred_image * 255) / 255, 0, 1)
예제 #13
0
def add_motion_blur(image, kernel_size, angle):
    """
    Motion blur by convolving the image with a kernel made of a single line crossing its center, where
    the direction of the motion blur is given by the angle of the line.
    :param image: a grayscale image with values in the [0, 1] range of type float64.
    :param kernel_size: an odd integer specifying the size of the kernel (even integers are ill-defined).
    :param angle: an angle in radians in the range [0, π)
    :return: blurred image
    """
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    blurred_im = image.copy()
    if len(image.shape) == 3:
        blurred_im[:, :, 0] = convolve(image[:, :, 0], kernel)
    else:
        blurred_im = convolve(image, kernel)
    blurred_im = np.around(255 * blurred_im) / 255.0
    return blurred_im.clip(0, 1).astype(np.float64)
예제 #14
0
def add_motion_blur(image, kernel_size, angle):
    """
    Motion blur can be simulated by convolving the image with a kernel made of
    a single line crossing its center, where the direction of the motion blur
    is given by the angle of the line.
    :param image: a grayscale image with values in the [0, 1] range of type
    float64.
    :param kernel_size: an odd integer specifying the size of the
    kernel (even integers are ill-defined).
    :param angle: an angle in radians in the range [0, π).
    :return: a blured image.
    """
    blur_kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    im = scipy.ndimage.filters.convolve(image, blur_kernel)
    im *= 255
    im /= 255
    return im.clip(min=0, max=1)
예제 #15
0
def add_motion_blur(image, kernel_size, angle):
    kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    return convolve(image, kernel)
예제 #16
0
def add_motion_blur(image, kernel_size, angle):
    """
    adds motion blur to a given image
    """
    return flt.convolve(image, sut.motion_blur_kernel(kernel_size, angle))
예제 #17
0
def add_motion_blur(image, kernel_size, angle):
    blur_kernel = sol5_utils.motion_blur_kernel(kernel_size, angle)
    return ndimage.filters.convolve(image, blur_kernel)
예제 #18
0
def add_motion_blur(image, kernel_size, angle):
    kernel2d = sol5_utils.motion_blur_kernel(kernel_size, angle)
    #kernel2d = kernel2d.reshape(kernel2d.shape[0], kernel2d.shape[1])
    return convolve(image, kernel2d).astype(np.float32)
예제 #19
0
def add_motion_blur(image, kernel_size, angle):
    # create filter:
    filter = sol5_utils.motion_blur_kernel(kernel_size, angle)

    # do the bluring:
    return scipy.ndimage.filters.convolve(image, filter)