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.

imregcorr

Estimación de la transformación geométrica que alinea dos imágenes 2-D mediante la correlación de fase

Sintaxis

tform = imregcorr(moving,fixed)
tform = imregcorr(moving,fixed,transformtype)
tform = imregcorr(moving,Rmoving,fixed,Rfixed,___)
tform = imregcorr(___,Name,Value,___)

Descripción

ejemplo

tform = imregcorr(moving,fixed) estima la transformación geométrica que alinea una imagen, moving, con una imagen de referencia, fixed. La función devuelve un objeto de transformación geométrica, tform, que asigna píxeles en moving a píxeles en fixed.

tform = imregcorr(moving,fixed,transformtype) estima la transformación geométrica, donde transformtype es una cadena escalar o vector de caracteres que especifica el tipo de transformación.

tform = imregcorr(moving,Rmoving,fixed,Rfixed,___) estima la transformación geométrica que alinea una imagen, moving, con una imagen de referencia, fixed. Rmoving y Rfixed son objetos de referencia espacial que contienen información espacial sobre las imágenes moving y fixed , respectivamente. El objeto de transformación devuelto, tform, define la asignación de puntos en el sistema de coordenadas del mundo.

tform = imregcorr(___,Name,Value,___) registra la imagen en movimiento a la imagen fija utilizando pares nombre-valor para controlar varios aspectos del algoritmo de registro.

Ejemplos

contraer todo

Lea una imagen de referencia en el espacio de trabajo.

fixed  = imread('cameraman.tif');

Cree una imagen móvil sintética mediante la escala y la rotación de la imagen fija.

theta = 20; S = 2.3; tform = affine2d([S.*cosd(theta) -S.*sind(theta) 0; ...                   S.*sind(theta)  S.*cosd(theta) 0; ...                   0 0 1]); moving = imwarp(fixed,tform); moving = moving + uint8(10*rand(size(moving)));

Mostrar el fijo y la imagen en movimiento junto a la otra.

imshowpair(fixed,moving,'montage')

Calcule la transformación necesaria para alinear las imágenes mediante imregcorr.

tformEstimate = imregcorr(moving,fixed);

Aplicar la transformación geométrica estimada a la imagen en movimiento. En este ejemplo se utiliza el parámetro 'OutputView' para obtener una imagen registrada del mismo tamaño y con los mismos límites mundiales que la imagen de referencia.

Rfixed = imref2d(size(fixed)); movingReg = imwarp(moving,tformEstimate,'OutputView',Rfixed);

Ver la imagen original y la imagen registrada de lado a lado para comprobar el registro. A continuación, vea la imagen registrada superpuesta en el original usando la opción 'falsecolor' para resaltar cualquier área donde las imágenes difieran.

imshowpair(fixed,movingReg,'montage')

imshowpair(fixed,movingReg,'falsecolor');

Argumentos de entrada

contraer todo

Imagen que se debe registrar, especificada como una imagen en escala de grises, binario o RGB. Si especifica una imagen RGB, imregcorr la convierte en una imagen en escala de grises utilizando rgb2gray antes de procesarla.

Nota

La relación de aspecto de moving afecta a la salida transformar tform. Para obtener mejores resultados, utilice una imagen cuadrada.

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

Imagen de referencia en la orientación de destino, especificada como una imagen en escala de grises, binario o RGB. Si especifica una imagen RGB, imregcorr la convierte en una imagen en escala de grises utilizando rgb2gray antes de procesarla.

Nota

La relación de aspecto de fixed afecta a la salida transformar tform. Para obtener mejores resultados, utilice una imagen cuadrada.

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

Tipo de transformación a estimar, especificada como uno de los siguientes valores.

ValorDescripción
'translation'Traducción
'rigid'Traducción y rotación
'similarity'Traducción, rotación y escalamiento

al utilizar la opción 'similarity' , el algoritmo de correlación de fase sólo es invariante de escala dentro de un rango de diferencia de escala entre las imágenes fijas y en movimiento. imregcorr limita el espacio de búsqueda para escalar las diferencias dentro del intervalo [1/4, 4]. imregcorr no detecta diferencias de escala inferiores a 1/4 o superiores a 4.

Tipos de datos: char | string

Información de referencia espacial asociada a la imagen que se debe registrar, especificada como un objeto imref2d .

Información de referencia espacial asociada a la imagen de referencia (fija), especificada como un objeto imref2d .

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos Name,Value . Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer dentro de comillas simples (' '). Puede especificar varios argumentos de par de nombre y valor en cualquier orden como Name1,Value1,...,NameN,ValueN.

Ejemplo: tformEstimate = imregcorr(moving,fixed,'Window',true);

Indicador lógico para controlar el uso de ventanas para suprimir los efectos de fuga espectral en el dominio de frecuencias, especificados como pares separados por comas que consisten en 'Window' y un escalar lógico. Cuando se establece en true, imregcorr utiliza una ventana de Blackman para aumentar la estabilidad de los resultados de registro. Si las características comunes que está intentando alinear en sus imágenes se orientan a lo largo de los bordes, la configuración de 'Window' a false puede a veces proporcionar resultados de registro superiores.

Ejemplo: tformEstimate = imregcorr(moving,fixed,'Window',true);

Tipos de datos: logical

Argumentos de salida

contraer todo

Transformación geométrica, devuelta como objeto de transformación geométrica de tipo affine2d.

Sugerencias

  • Si su imagen es de tipo double, puede lograr mejoras de rendimiento al emitir la imagen a single con im2single antes de registrarse. Las imágenes de entrada del tipo double causan el algoritmo para calcular FFTs en double.

Referencias

[1] Reddy, B. S. and Chatterji, B. N., An FFT-Based Technique for Translation, Rotation, and Scale-Invariant Image Registration, IEEE Transactions on Image Processing, Vol. 5, No. 8, August 1996

Consulte también

Aplicaciones

Funciones

Introducido en R2014a