randomAffine2d
Crear una transformación afín 2D aleatoria
Descripción
crea un objeto tform
= randomAffine2daffinetform2d
que realiza una transformación de identidad.
especifica el tipo de transformación afín utilizando argumentos nombre-valor.tform
= randomAffine2d(Name,Value
)
Ejemplos
Lea y muestre una imagen.
I = imread("kobi.png");
imshow(I)
Cree un objeto de transformación afín 2D que rote imágenes. La función randomAffine2d
toma el ángulo de rotación aleatoriamente a partir de una distribución uniforme continua dentro del intervalo [35, 55] grados.
tform1 = randomAffine2d(Rotation=[35 55]);
Rote la imagen y muestre el resultado.
J = imwarp(I,tform1); imshow(J)
El objeto de transformación, tform1
, rota todas las imágenes en la misma proporción. Para rotar una imagen en una proporción distinta a la seleccionada al azar, cree una nueva transformación geométrica.
tform2 = randomAffine2d(Rotation=[-10 10]); J2 = imwarp(I,tform2); imshow(J2)
Lea y muestre una imagen.
I = imread("sherlock.jpg");
imshow(I)
Cree un objeto de transformación afín 2D que rote imágenes. Para seleccionar un ángulo de rotación de un intervalo personalizado, especifique el argumento nombre-valor Rotation
como un identificador de función. En este ejemplo se especifica una función denominada myrange
(definida al final del ejemplo) que selecciona un ángulo entre dos intervalos disjuntos.
tform = randomAffine2d(Rotation=@myrange);
Rote la imagen y muestre el resultado.
J = imwarp(I,tform); imshow(J)
Función de apoyo
En este ejemplo se define la función myrange
que primero selecciona aleatoriamente uno de dos intervalos (-10, 10) y (170, 190) con la misma probabilidad. Dentro del intervalo seleccionado, la función devuelve un único número aleatorio de una distribución uniforme.
function angle = myrange() if randi([0 1],1) a = -10; b = 10; else a = 170; b = 190; end angle = a + (b-a).*rand(1); end
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.
Ejemplo: tform = randomAffine2d(XReflection=true)
En las versiones anteriores a la R2021a, use comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: tform = randomAffine2d("XReflection",true)
Reflexión horizontal aleatoria, especificada como false
o true
. Cuando XReflection
es true
(1
), la transformación tform
refleja imágenes horizontalmente con un 50% de probabilidad. De forma predeterminada, la transformación no refleja imágenes en dirección horizontal.
Reflexión vertical aleatoria, especificada como false
o true
. Cuando YReflection
es true
(1
), la transformación tform
refleja imágenes verticalmente con un 50% de probabilidad. De forma predeterminada, la transformación no refleja imágenes en dirección vertical.
Intervalo de rotación, en grados, aplicado a la imagen de entrada, especificado como una de las siguientes opciones.
Un vector numérico de 2 elementos. El segundo elemento debe ser mayor o igual que el primero. El ángulo de rotación se elige de forma aleatoria a partir de una distribución uniforme continua dentro del intervalo especificado.
Un identificador de función. La función no debe aceptar argumentos de entrada y devolver el ángulo de rotación como escalar numérico. Use un identificador de función para elegir ángulos de rotación de un intervalo disjunto o use una distribución de probabilidad no uniforme. Para obtener más información sobre los identificadores de función, consulte Crear un identificador de función.
De forma predeterminada, la transformación tform
no rota imágenes.
Ejemplo: [-45 45]
Intervalo de escalado uniforme (isotrópico) aplicado a la imagen de entrada, especificado como uno de los siguientes elementos.
Un vector numérico de 2 elementos. El segundo elemento debe ser mayor o igual que el primero. El factor de escala se elige de forma aleatoria a partir de una distribución uniforme continua dentro del intervalo especificado.
Un identificador de función. La función no debe aceptar argumentos de entrada y devolver el factor de escala como escalar numérico. Use un identificador de función para elegir factores de escala de un intervalo disjunto o use una distribución de probabilidad no uniforme. Para obtener más información sobre los identificadores de función, consulte Crear un identificador de función.
De forma predeterminada, la transformación tform
no escala imágenes.
Ejemplo: [0.5 4]
Intervalo de sesgo horizontal aplicado a la imagen de entrada, especificado como uno de los siguientes elementos. El sesgo se mide como un ángulo en grados y está dentro del intervalo (-90, 90).
Un vector numérico de 2 elementos. El segundo elemento debe ser mayor o igual que el primero. El ángulo de sesgo horizontal se elige de forma aleatoria a partir de una distribución uniforme continua dentro del intervalo especificado.
Un identificador de función. La función no debe aceptar argumentos de entrada y devolver el ángulo de sesgo horizontal como escalar numérico. Use un identificador de función para elegir ángulos de sesgo horizontal de un intervalo disjunto o use una distribución de probabilidad no uniforme. Para obtener más información sobre los identificadores de función, consulte Crear un identificador de función.
De forma predeterminada, la transformación tform
no estira imágenes en dirección horizontal.
Ejemplo: [0 45]
Intervalo de sesgo vertical aplicado a la imagen de entrada, especificado como uno de los siguientes elementos. El sesgo se mide como un ángulo en grados y está dentro del intervalo (-90, 90).
Un vector numérico de 2 elementos. El segundo elemento debe ser mayor o igual que el primero. El ángulo de sesgo vertical se elige de forma aleatoria a partir de una distribución uniforme continua dentro del intervalo especificado.
Un identificador de función. La función no debe aceptar argumentos de entrada y devolver el ángulo de sesgo vertical como escalar numérico. Use un identificador de función para elegir ángulos de sesgo vertical de un intervalo disjunto o use una distribución de probabilidad no uniforme. Para obtener más información sobre los identificadores de función, consulte Crear un identificador de función.
De forma predeterminada, la transformación tform
no estira imágenes en dirección vertical.
Ejemplo: [0 45]
Intervalo de traslación horizontal aplicado a la imagen de entrada, especificado como uno de los siguientes elementos. La distancia de traslación se mide en píxeles.
Un vector numérico de 2 elementos. El segundo elemento debe ser mayor o igual que el primero. La distancia de traslación horizontal se elige de forma aleatoria a partir de una distribución uniforme continua dentro del intervalo especificado.
Un identificador de función. La función no debe aceptar argumentos de entrada y devolver la distancia de traslación horizontal como escalar numérico. Use un identificador de función para elegir distancias de traslación horizontal de un intervalo disjunto o use una distribución de probabilidad no uniforme. Para obtener más información sobre los identificadores de función, consulte Crear un identificador de función.
De forma predeterminada, la transformación tform
no traslada imágenes en dirección horizontal.
Ejemplo: [-5 5]
Intervalo de traslación vertical aplicado a la imagen de entrada, especificado como uno de los siguientes elementos. La distancia de traslación se mide en píxeles.
Un vector numérico de 2 elementos. El segundo elemento debe ser mayor o igual que el primero. La distancia de traslación vertical se elige de forma aleatoria a partir de una distribución uniforme continua dentro del intervalo especificado.
Un identificador de función. La función no debe aceptar argumentos de entrada y devolver la distancia de traslación vertical como escalar numérico. Use un identificador de función para elegir distancias de traslación vertical de un intervalo disjunto o use una distribución de probabilidad no uniforme. Para obtener más información sobre los identificadores de función, consulte Crear un identificador de función.
De forma predeterminada, la transformación tform
no traslada imágenes en dirección vertical.
Ejemplo: [-5 5]
Argumentos de salida
Transformación afín, devuelta como objeto affinetform2d
.
Historial de versiones
Introducido en R2019bA partir de la versión R2022b, la mayoría de funciones de Image Processing Toolbox™ crean y realizan transformaciones geométricas utilizando la convención de la premultiplicación. En consecuencia, la función randomAffine2d
ahora devuelve el argumento de salida tform
como un objeto affinetform2d
, que admite la convención de premultiplicación. Antes, la función devolvía tform
como un objeto affine2d
, que admite la convención de posmultiplicación. Para obtener más información, consulte Migrate Geometric Transformations to Premultiply Convention.
Consulte también
imwarp
| randomWindow2d
| centerCropWindow2d
Temas
- Augment Images for Deep Learning Workflows (Deep Learning Toolbox)
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)