Hacer una imagen a partir de cuadros de imagen
-
23-08-2019 - |
Pregunta
He visto un par de imágenes en el que general hacer una cara de numerosas imágenes más pequeñas.
Por ejemplo, dicen que azulejos 100 imágenes en cuadrícula de 10x10, y de alguna manera se varían tono / SAT / COL, de las imágenes más pequeñas para que cuando vea el Big Picture , se ve otra imagen.
La cuestión se reduce a - decir que tiene una imagen. ¿Qué tipo de algoritmo podría aplicar a la imagen de manera que el valor medio RGB de esa imagen es la que ha definido?
Solución
- Se calcula la tonalidad / sat / valor de cada baldosa (HSV utilizar debido a pequeñas diferencias aquí parecen más "natural" para el ojo humano que en el espacio RGB)
- Ahora hay que calcular los mismos valores para cada n * n baldosas de su cuadro grande
- Para los azulejos con los valores más cercanos HSV (mínimo de
sqrt((h1-h2)^2 - (s1-s2)^2 - (v1-v2)^)
) y el sello que el azulejo de reducido para n * n en el resultado.
Para encontrar el VHS de una teja, que debería ser suficiente para resumir todos los valores RGB y luego dividirlos por el número de píxeles y convertir esa final triple RGB a HSV. Pero para ser salvo, le sugiero que pruebe que ambas versiones.
, que artículo de Wikipedia para RGB <->. HSV conversiones
Para refinar el algoritmo, puede dividir todos los azulejos en una m m y calcular el promedio de HSV para cada elemento de rejilla. Entonces, cuando se mira para un partido, dividir la imagen en grande, como de costumbre, sino también calcular m M valores HSV. Seleccionar qué baldosas coincide con la mayoría de estos m * m mejor. Esto permite que el algoritmo para seleccionar las baldosas que tienen la misma estructura que el cuadro grande.
Para darle un toque adicional, tratar de crear un imagen gigapixel .