Skip to content

Fix PyBlur (https://github.com/lospooky/pyblur) with Python 3.9 (Windows, Linux compatibility verified).

License

Notifications You must be signed in to change notification settings

jayroxis/blurlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pyblur (Renamed as blurlab)

IMPORTANT: The package now is renamed as blurlab.

  • Fix Python 3 compatibility issues of pyblur.
  • Fix Skimage convolve2d error from pyblur3.

##Python image blurring routines. Pyblur is a collection of simple image blurring routines.
It supports Gaussian, Disk, Box, and Linear Motion Blur Kernels as well as the Point Spread Functions used in Convolutional Neural Networks for Direct Text Deblurring.
Functions receive a PIL image as input, and return another as output.
Kernel sizes can either be specified as input, or randomized.
Finally, there's a RandomizedBlur function that applies a random type of blurring kernel with a random width/strength.

pypi: https://pypi.python.org/pypi?:action=display&name=pyblur&version=0.2.3

Installation

From Pip: pip install blurlab
Or alternatively git clone this repo and run locally

Usage

from pyblur import *

Gaussian Blur

Blurs image using a Gaussian Kernel

blurred = GaussianBlur(img, bandwidth)

Randomized kernel bandwidth (between 0.5 and 3.5)

blurred = GaussianBlur_random(img)

Defocus (Disk) Blur

Blurs image using a Disk Kernel

blurred = DefocusBlur(img, kernelsize)

Randomized kernel size (between 3 and 9)

blurred = DefocusBlur_random(img)

Box Blur

Blurs image using a Box Kernel

blurred = BoxBlur(img, kernelsize)

Randomized kernel size (between 3 and 9)

blurred = BoxBlur_random(img)

Linear Motion Blur

Blurs image using a Line Kernel

blurred = LinearMotionBlur(img, dim, angle, linetype)

Parameters

  • dim Kernel Size: {3,5,7,9}
  • angle Angle of the line of motion. Will be floored to the closest one available for the given kernel size.
  • linetype = {left, right, full} Controls whether the blur kernel will be applied in full or only the left/right halves of it.

Randomized kernel size, angle, and line type

blurred = LinearMotionBlur_random(img)

PSF Blur

Blurs image using one of the Point Spread Functions (Kernels) used in:
Convolutional Neural Networks for Direct Text Deblurring

blurred = PsfBlur(img, psfid)

Parameters

  • psfid Id of the Point Spread Function to apply [0, 99]

Randomized kernel size, angle, and line type

blurred = PsfBlur_random(img)

Random Blur

Randomly applies one of the supported blur types, with a randomized bandwidth/strenght.

blurred = RandomizedBlur(img)

About

Fix PyBlur (https://github.com/lospooky/pyblur) with Python 3.9 (Windows, Linux compatibility verified).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages