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?

¿Fue útil?

Solución

  1. 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)
  2. Ahora hay que calcular los mismos valores para cada n * n baldosas de su cuadro grande
  3. 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 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top