Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

niqe

Puntuación de calidad de imagen sin referencia del Evaluador de la calidad de imágenes naturales (NIQE)

Descripción

ejemplo

score = niqe(A) calcula la puntuación de calidad de imagen sin referencia para la imagen A utilizando el Evaluador de la calidad de imágenes naturales (NIQE). niqe compara A con un modelo predeterminado calculado a partir de imágenes de escenas naturales. Una puntuación menor indica una mejor calidad perceptiva.

ejemplo

score = niqe(A,model) calcula la puntuación de calidad de la imagen utilizando un modelo personalizado.

Ejemplos

contraer todo

Calcule la puntuación NIQE para una imagen natural y sus versiones distorsionadas utilizando el modelo predeterminado.

Lea una imagen en el espacio de trabajo. Cree copias de la imagen con ruido y distorsiones de desenfoque.

I = imread('lighthouse.png');
Inoise = imnoise(I,'salt & pepper',0.02);
Iblur = imgaussfilt(I,2);

Muestre las imágenes.

figure
montage({I,Inoise,Iblur},'Size',[1 3])
title('Original Image | Noisy Image | Blurry Image')

Figure contains an axes object. The axes object with title Original Image | Noisy Image | Blurry Image contains an object of type image.

Calcule la puntuación NIQE de cada imagen utilizando el modelo predeterminado. Muestre la puntuación.

niqeI = niqe(I);
fprintf('NIQE score for original image is %0.4f.\n',niqeI)
NIQE score for original image is 2.5455.
niqeInoise = niqe(Inoise);
fprintf('NIQE score for noisy image is %0.4f.\n',niqeInoise)
NIQE score for noisy image is 10.8770.
niqeIblur = niqe(Iblur);
fprintf('NIQE score for blurry image is %0.4f.\n',niqeIblur)
NIQE score for blurry image is 5.2661.

La imagen original no distorsionada tiene la mejor calidad perceptiva y, por lo tanto, la puntuación NIQE más baja.

Cargue un conjunto de imágenes naturales en un almacén de datos de imágenes. Estas imágenes se incluyen en Image Processing Toolbox™ en un directorio llamado 'imdata'.

setDir = fullfile(toolboxdir('images'),'imdata');
imds = imageDatastore(setDir,'FileExtensions',{'.jpg'});

Entrene un modelo NIQE personalizado utilizando el almacén de datos de imágenes.

model = fitniqe(imds);
Extracting features from 33 images.
...
Completed 10 of 33 images.  Time: Calculating...
...
Completed 20 of 33 images.  Time: 00:25 of 00:40
....
Done.

Lea una imagen de una escena natural. Muestre la imagen.

I = imread('car1.jpg');
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

Calcule la puntuación NIQE de la imagen utilizando el modelo personalizado. Muestre la puntuación.

niqeI = niqe(I,model);
fprintf('NIQE score for the image is %0.4f.\n',niqeI)
NIQE score for the image is 2.6700.

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como imagen 2D en escala de grises o imagen 2D RGB.

Tipos de datos: single | double | int16 | uint8 | uint16

Modelo personalizado de características de la imagen, especificado como un objeto niqeModel. model se deriva de las estadísticas de la escena natural.

Argumentos de salida

contraer todo

Puntuación de calidad de imagen sin referencia, devuelta como un escalar no negativo. Los valores más bajos de score reflejan una mejor calidad perceptiva de la imagen A con respecto a la entrada model.

Tipos de datos: double

Algoritmos

El NIQE mide la distancia entre las características basadas en el NSS calculadas a partir de la imagen A y las características obtenidas de una base de datos de imágenes utilizada para entrenar el modelo. Las características se modelan como distribuciones gaussianas multidimensionales.

Referencias

[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.

Historial de versiones

Introducido en R2017b

Consulte también

Funciones

Objetos