Estoy pensando en procesar una imagen para generar en Mathematica debido a sus poderosas capacidades de procesamiento de imágenes. ¿Alguien podría dar una idea de cómo hacer esto?cómo generar una imagen de este tipo en Mathematica
Muchas gracias.
Estoy pensando en procesar una imagen para generar en Mathematica debido a sus poderosas capacidades de procesamiento de imágenes. ¿Alguien podría dar una idea de cómo hacer esto?cómo generar una imagen de este tipo en Mathematica
Muchas gracias.
Aquí hay una versión, usando texturas. Por supuesto, no actúa como una lente real, simplemente repite partes de la imagen de manera superpuesta.
t = CurrentImage[];
(* square off the image to avoid distortion *)
t = ImageCrop[t, {240,240}];
n = 20;
Graphics[{Texture[t],
Table[
Polygon[
Table[h*{Sqrt[3]/2, 0} + (g - h)*{Sqrt[3]/4, 3/4} + {Sin[t], Cos[t]},
{t, 0., 2*Pi - Pi/3, Pi/3}
],
VertexTextureCoordinates -> Transpose[{
Rescale[
(1/4)*Sqrt[3]*(g - h) + (Sqrt[3]*h)/2.,
{-n/2, n/2},
{0, 1}
] + {0, Sqrt[3]/2, Sqrt[3]/2, 0, -(Sqrt[3]/2), -(Sqrt[3]/2)}/(n/2),
Rescale[
(3.*(g - h))/4,
{-n/2, n/2},
{0, 1}
] + {1, 1/2, -(1/2), -1, -(1/2), 1/2}/(n/2)
}]
],
{h, -n, n, 2},
{g, -n, n, 2}
]
},
PlotRange -> n/2 - 1
]
Aquí está el código anterior se aplica a la standard image test (Lena)
Brett, espero que no te importe que agregue un ejemplo ... – Simon
@Simon: Ciertamente que no. –
@Brett, +1 se ve genial. Pero solo tengo Mma 7.0, que no tiene la opción 'VertexTextureCoordinates'. No puedo probarlo ¿Hay una solución alternativa o algo similar en Mma7.0? ¡Gracias de nuevo! –
"Creo que esto podría ser bien aproximada con un decalaje calculado para la imagen en cada celda" - Mr.Wizard
¡Exactamente! Como puede ver en la imagen reconstruida, no hay efecto de lente y los mosaicos son solo desplazamientos.
Lo que se necesita es un Hexagonal_tessellation y un algoritmo simple para calcular el desplazamiento de cada hexágono desde algún punto central elegido (peso/2, altura/2).
Por supuesto. Solo tiene que hacer un pequeño programa para rayar lentes de aproximación no paraxiales fuera del eje. ¿Realizable? sí. ¿Útil? Lo dudo. Hay muchos paquetes de software de rastreo de rayos por ahí. –
@belisarius ¿es realmente necesario? Creo que esto podría ser aproximado con una compensación calculada para la imagen en cada celda. –