¿Cómo iba a realizar muchas operaciones al azar a un grupo de imágenes?
-
27-09-2019 - |
Pregunta
I necesita manipular una imagen de tal manera que un sub-rectángulo de ella se da la vuelta o girar con relación al resto de la imagen. He aquí un ejemplo:
necesidades Esta manipulación sucedan muchas veces, produciendo una imagen modificada nuevo desde el original (en lugar de aplicar modificaciones sucesivas a una imagen) cada vez.
El tamaño de las necesidades sub-rectángulo para variar sistemáticamente (tal vez en un 5% en incrementos de 10% a 75%) y la ubicación de las necesidades sub-rectángulo para variar aleatoriamente.
Por último, este procedimiento necesita que se lleva a cabo en un gran número de imágenes.
¿Cómo iba a hacerlo?
Mis opciones son PHP, C #, o por lotes en Gimp. Dicho esto, yo estoy preparado para aprender algo nuevo si hay un enfoque particularmente sensible.
Solución
Id decir ir con C # y escribir una pequeña utilidad.
La clase Graphics
puede tener todos los métodos que necesita .
Id sugieren que nos fijamos en la DrawImage
y la funciones RotateTransform
.
Otros consejos
Es esto algo que hay que hacer mediante programación o se trata de un contrato por un tiempo?
Si programáticamente, que * puede * ser hecho en PHP usando la librería GD, pero no va a ser fácil o rápido, debido al hecho de que usted tendrá que escribir una rutina para mover manualmente píxeles.
Un resumen de "easyness" de su solicitud sobre la base de un enfoque de librería PHP GD:
- Manipulación ocurre muchas veces, produciendo una nueva imagen modificada de la original cada vez: fácil
- Tamaño de las necesidades sub-rectángulo para variar sistemáticamente, fácil
- Localización de las necesidades sub-rectángulo a muy al azar, fácil
- rotación en-imagen dificultad moderada y lenta ??strong>
- La realización de esta en un gran número de imágenes, fácil
No tengo suficiente experiencia en C # de Gimp para darle respuestas definitivas allí; Lo sentimos.
Usted podría tomar su idioma preferido, todos ellos capaces 3, código y ejecutarlo?