Author Topic: Taking a portion of an image to put it in another one / Coger un trozo de una imagen para ponerlo en otra.  (Read 9799 times)

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Hi guys,

I'm thinking about a simple script to create this typical image that shows the corners and the center of a larger image, used to make it easier to spot the optical system aberrations (example, example).

I'm finding difficulty in what tool(s) should I use to take one portion of an image and put it in another. I've glanced over the Bitmap, Graphics and Rect objects but nothing seemed appropriate. Could you give me a small hint as to how could this be accomplished?

Cheers,


Cucú,

Estaba pensando en un script pequeño para hacer la típica imagen que muestra las esquinas y el centro de una imagen mayor, usada normalmente para dejar al descubierto las aberraciones del tren óptico (ejemplo, ejemplo).

Tengo algunas dificultades a la hora de averiguar qué herramienta(s) debería usar para coger un trozo de una imagen y ponerlo en otra. He echado un vistazo a los objetos Bitmap, Graphics y Rect pero nada me llamó la atención. ¿Podríais darme alguna pistita sobre cómo conseguir esto?

Saludos,
--
 David Serrano

Offline C. Sonnenstein

  • PixInsight Addict
  • ***
  • Posts: 262
    • http://astrosurf.com/astro35mm
Hola David:

Pues no tengo ni idea, pero se me ocurre algo.

Ves al menú Preview>New Preview... , ajusta los parámetros en tamaño y coordenadas de cada zona del campo que quieras mostrar, identifica cada preview y convierte los previews generados en una imagen independiente (menú Preview>Make Image).

A continuación ves al menú Process>Geometry>Crop y expande cada imagen el tamaño en píxeles que necesites rellenando las zonas adyacentes con píxeles negros (apartado Fill Color en la ventana de Crop).



En este ejemplo he olvidado rellenar con píxeles negros, pero deberías ajustar cada canal a cero. Por último combina todas las imágenes en PixelMath (sumado y escalado).

Este sería el procedimiento. Ahora solo es cuestión de implementarlo en un script ;)
Carlos Sonnenstein

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Quote from: "C. Sonnenstein"
Ves al menú Preview>New Preview... , [...]


Vaya, no se me había ocurrido hacerlo con previews. Crearlos programáticamente es fácil (de hecho esa parte ya funciona). Voy a ver si consigo algo sin crear imágenes independientes; al fin y al cabo, cada objeto View tiene una propiedad image que ya contiene los píxels.


Quote from: "C. Sonnenstein"
En este ejemplo he olvidado rellenar con píxeles negros, pero deberías ajustar cada canal a cero.


Aquí se complica un poco más porque había pensado que el usuario debe poder escoger el color de fondo que quedará entre los trozos de la imagen principal.

Gracias por la pista, que de momento ha sido definitiva ;).
--
 David Serrano

Offline C. Sonnenstein

  • PixInsight Addict
  • ***
  • Posts: 262
    • http://astrosurf.com/astro35mm
Quote from: "David Serrano"
Aquí se complica un poco más porque había pensado que el usuario debe poder escoger el color de fondo que quedará entre los trozos de la imagen principal.


La idea es que cuando combines los cuadros las áreas adyacentes no modiquen el resultado, salvo que lo quieras calcular de otra forma.
Carlos Sonnenstein

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Ya casi lo tengo :). Los previews se crean en un pispás, luego creo la nueva imagen con el tamaño adecuado, le pongo el fondo deseado y voy planchando cada preview en su sitio. El último preview que pongo es el central, para que quede encima de los demás. Sólo me falta el último detalle, que es pintar un pequeño recuadro alrededor del preview central para delimitarlo de los demás. Técnicamente ya me funciona, pero mi perfeccionismo me obliga a querer hacerlo mejor de lo que está ;). He puesto una pregunta sobre esto en otro hilo.
--
 David Serrano

Offline C. Sonnenstein

  • PixInsight Addict
  • ***
  • Posts: 262
    • http://astrosurf.com/astro35mm
Carlos Sonnenstein

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Quote
El último preview que pongo es el central, para que quede encima de los demás.


Eso se llama algoritmo del pintor para representación de escenas en tres dimensiones ;)

De ahí a escribir un ray tracer no hay ná...  :D
Juan Conejero
PixInsight Development Team
http://pixinsight.com/