Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

niqeModel

Naturalness Image Quality Evaluator (NIQE) model

Description

A niqeModel object encapsulates a model used to calculate the Naturalness Image Quality Evaluator (NIQE) perceptual quality score of an image.

Creation

Syntax

m = niqeModel
m = niqeModel(mean,covariance,blockSize,sharpnessThreshold)

Description

example

m = niqeModel creates a NIQE model object with default property values that are derived from the pristine image database noted in [1].

example

m = niqeModel(mean,covariance,blockSize,sharpnessThreshold) creates a custom NIQE model and sets the Mean, Covariance, BlockSize, and SharpnessThreshold properties. You must provide all four arguments to create a custom model.

Properties

expand all

Mean of natural scene statistics (NSS) based image feature vectors, specified as a 36-element numeric row vector.

Example: rand(1,36)

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Covariance matrix of NSS-based image feature vectors, specified as a 36-by-36 numeric matrix.

Example: rand(36,36)

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Block size used to partition an image into nonoverlapping blocks, specified as a 2-element row vector of positive even integers. The two elements specify the number of rows and columns in each partition, respectively.

Example: [10 10]

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Sharpness threshold used to calculate feature vectors, specified as a real scalar in the range [0, 1]. The threshold determines which blocks are selected to calculate the feature vectors.

Example: 0.25

Data Types: single | double

Examples

expand all

model = niqeModel
model = 
  niqeModel with properties:

                  Mean: [1x36 double]
            Covariance: [36x36 double]
             BlockSize: [96 96]
    SharpnessThreshold: 0

Create a niqeModel object using precomputed Mean, Covariance, BlockSize, and SharpnessThreshold properties. Random initializations are shown for illustrative purposes only.

 model = niqeModel(rand(1,36),rand(36,36),[10 10],0.25);

You can use the custom model to calculate the NIQE score for an image.

I = imread('lighthouse.png');
score = niqe(I,model)
score = 3.6866

References

[1] Mittal, A., R. Soundararajan, and A. C. Bovik. "Making a Completely Blind Image Quality Analyzer." IEEE Signal Processing Letters. Vol. 22, Number 3, March 2013, pp. 209–212.

See Also

Functions

Using Objects

Introduced in R2017b

Was this topic helpful?