Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

integralImage

Calcule la imagen integral

Descripción

ejemplo

J = integralImage(I) calcula el,, a partir de la imagen de intensidad,.Imagen integralJI

ejemplo

J = integralImage(I,orientation) calcula la imagen integral con la orientación especificada por.orientation

Ejemplos

contraer todo

Cree una matriz de muestra simple.

I = magic(5)
I = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

En una imagen integral, cada píxel es la suma acumulada del píxel directamente encima de él y a su izquierda. Por ejemplo, en esta matriz trivial, el píxel de la matriz original en la fila 1, columna 1 (valor 17) no se modificará en una imagen integral porque está agregando 0s al valor. (La función añade una fila de 0s arriba y a la izquierda de la matriz original.)integralImage Calculando el valor de la imagen integral para el píxel (1, 2) en la matriz original, se agrega el píxel por encima de él (0) y el píxel a su izquierda (17): 24 + 17 + 0 = 41. Calculando el valor de la imagen integral para pixel (1, 3) en la matriz originl, agregas el píxel por encima de él (0) y el píxel a su izquierda, que ya se ha sumado, 41. Por lo tanto, el valor en el píxel (2, 4) en la imagen integral es 1 + 41 + 0 = 42. Este proceso continúa para cada píxel de la imagen original, como se puede ver en la imagen integral de la matriz original calculada por la función.integralImage

J = integralImage(I)
J = 6×6

     0     0     0     0     0     0
     0    17    41    42    50    65
     0    40    69    77    99   130
     0    44    79   100   142   195
     0    54   101   141   204   260
     0    65   130   195   260   325

Cree una imagen de muestra.

I = magic(5)
I = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

% Define rotated rectangular region as [x, y, width, height] where x, y % denote the indices of the top corner of the rectangle. Width and height % are along 45 degree lines from the top corner. [x, y, w, h] = deal(3, 1, 3, 2);

Crear imagen integral.

J = integralImage(I, 'rotated');

Calcule la suma sobre la región utilizando la imagen integral.

regionSum = J(y+w+h,x+w-h+1) + J(y,x+1) - J(y+h,x-h+1) - J(y+w,x+w+1);

Argumentos de entrada

contraer todo

Imagen de escala de grises de entrada, especificada como una matriz 2-D real y no dispersa.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Orientación de la imagen, especificada como o.'upright''rotated' Si establece la orientación, devuelve la imagen integral para calcular sumas sobre rectángulos rotados por 45 grados.'rotated'integralImage Para facilitar el cálculo de las sumas de píxeles a lo largo de todos los límites de imagen, los pads las imágenes integrales de salida de la siguiente manera:integralImage

Imagen integralDescripción
Imagen integral verticalAcolchado cero en la parte superior e izquierda, lo que resulta ensize(J) = size(I)+1
La imagen integral giradaCon relleno cero en la parte superior, izquierda y derecha, lo que resulta ensize(J) = size(I)+[1 2]

Si la imagen de entrada tiene más de dos dimensiones (), como por ejemplo para una imagen RGB, la función computa la imagen integral para todos los planos 2-D a lo largo de las cotas superiores.ndims(I)>2integralImage

Tipos de datos: char | string

Argumentos de salida

contraer todo

Imagen integral, devuelta como una matriz de clase real, no dispersa.double La función cero-pads el lado superior e izquierdo de la imagen integral por lo que el tamaño de la imagen integral de salida es el tamaño como la imagen de entrada, además,.1size(J) = size(I)+1 Tal dimensionamiento facilita el cómputo fácil de sumas de píxeles a lo largo de todos los límites de imagen. La imagen integral, es esencialmente una versión acolchada del valor.Jcumsum(cumsum(I,2))

Más acerca de

contraer todo

Imagen integral

En un, cada píxel es la suma de los píxeles arriba y a la izquierda de él.imagen integral Con una imagen integral, puede calcular rápidamente las sumas sobre las subregiones de la imagen. El uso de imágenes integrales fue popularizado por el algoritmo viola-Jones. Las imágenes integrales facilitan la suma de los píxeles y se pueden realizar en tiempo constante, independientemente del tamaño de la vecindad.

Referencias

[1] Viola, Paul and Michael J. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2001. Volume: 1, pp.511–518.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Introducido en R2015b