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

Estime la transformación geométrica que alinea dos imágenes 2-D utilizando la correlación de fases

Descripción

ejemplo

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

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

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

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

Ejemplos

contraer todo

Leer una imagen de referencia en el espacio de trabajo.

fixed  = imread('cameraman.tif');

Cree una imagen en movimiento sintética escalando y girando 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)));

Visualice la imagen fija y la que se mueve junto a la otra.

imshowpair(fixed,moving,'montage')

Estime la transformación necesaria para alinear las imágenes utilizando.imregcorr

tformEstimate = imregcorr(moving,fixed);

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

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

Visualice la imagen original y la imagen registrada una al lado de la otra para comprobar el registro. A continuación, visualice la imagen registrada superpuesta en el original con la opción de resaltar cualquier área en la que las imágenes difieran.'falsecolor'

imshowpair(fixed,movingReg,'montage')

imshowpair(fixed,movingReg,'falsecolor');

Argumentos de entrada

contraer todo

Imagen que se registrará, especificada como una imagen en escala de grises, binaria o RGB. Si especifica una imagen RGB, la convierte en una imagen en escala de grises utilizando antes del procesamiento.imregcorrrgb2gray

Nota

La relación de aspecto de afecta a la transformación de salida.movingtform Para obtener los 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, binaria o RGB. Si especifica una imagen RGB, la convierte en una imagen en escala de grises utilizando antes del procesamiento.imregcorrrgb2gray

Nota

La relación de aspecto de afecta a la transformación de salida.fixedtform Para obtener los 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 escalado cuando se utiliza la opción, el algoritmo de correlación de fases es solo una escala invariable dentro de algún rango de diferencia de escala entre las imágenes fijas y en movimiento. limita el espacio de búsqueda para escalar las diferencias dentro del intervalo [1/4, 4]. no detecta diferencias de escala inferiores a 1/4 o superiores a 4.

'similarity'imregcorrimregcorr

Tipos de datos: char | string

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

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

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName 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 frecuencia, especificado como el par separado por comas que consta de y un escalar lógico.'Window' Cuando se establece en, utiliza una ventana de Blackman para aumentar la estabilidad de los resultados de registro.trueimregcorr Si las características comunes que está intentando alinear en las imágenes están orientadas a lo largo de los bordes, el ajuste a a veces puede proporcionar resultados de registro superiores.'Window'false

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

Tipos de datos: logical

Argumentos de salida

contraer todo

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

Sugerencias

  • Si su imagen es de tipo, puede lograr mejoras de rendimiento mediante la conversión de la imagen a con antes del registro.doublesingleim2single Las imágenes de entrada de tipo provocan que el algoritmo calcule las FFTs.doubledouble

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