Skip to content

A python implementation of BRISQUE Image Quality Assessment

License

Notifications You must be signed in to change notification settings

bukalapak/pybrisque

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyBRISQUE

An implementation of BRISQUE (Blind/Referenceless Image Spatial Quality Evaluator) in Python from the paper: "No-Reference Image Quality Assessment in the Spatial Domain".

Installation

LibSVM is required. On ubuntu or other debian-based system, you can install libsvm-dev package from apt as follows:

apt-get install libsvm-dev

The package is in PyPI so you can install it simply by this command:

pip install --process-dependency-links pybrisque

Usage

Initialize once:

brisq = BRISQUE()

and get the BRISQUE feature or score many times:

brisq.get_feature('/path')
brisq.get_score('/image_path')

Limitations

This implementation is heavily adopted from the original Matlab implementation in here. There is one catch though, the bicubic interpolation when resizing image in Matlab and OpenCV is a bit different as explained in here. For now, it uses nearest interpolation which gives the most similar output with the original implementation.

Comparing with Matlab original implementation on reference images of TID 2008:

Comparison

And the absolute differences' stat is as follows:

{'min': 0.17222238726479588,
 'max': 16.544924728934404,
 'mean': 3.9994322498322754,
 'std': 3.0715344507521416}