Como se recupera uma imagem grande, dadas várias culturas dela com sobreposição suficiente? [fechadas]

1

Suponha que você tenha várias imagens pequenas, todas cortadas de uma única imagem grande. Cada pequena imagem é um sub-retângulo da imagem grande. As imagens pequenas têm sobreposição suficiente entre si. No entanto, você não tem a imagem grande: dadas as pequenas imagens, como você recupera a imagem grande? Existe software para automatizar isso?

Suponha que estamos lidando com formatos de imagem sem perdas, como o PNG. Não há rotação, distorção de perspectiva ou qualquer outro tipo de fuzzing envolvido, cada imagem de entrada é uma cultura exata da imagem de saída desejada.

Um pouco mais precisamente, encontre uma imagem X, possivelmente com alguns pixels "em branco", como:

  • Cada imagem de entrada é um sub-retângulo de X.
  • Cada pixel do X é "em branco" ou vem de pelo menos uma das imagens de entrada.
  • X é "o menor possível".

Os dois primeiros requisitos são precisos, eu não fiz o terceiro perfeitamente preciso. O terceiro requisito é descartar soluções triviais, como simplesmente colocar as imagens de entrada lado a lado em alguma ordem. Pixels em branco são permitidos, pois as imagens de entrada podem não se alinhar perfeitamente para formar um retângulo. Por exemplo, se as entradas forem

ABC      EFG
DEF      HIJ

Espero que a saída seja

ABC
DEFG
 HIJ

(Aqui cada letra representa um pixel de uma cor específica. Por exemplo, talvez cada A seja um pixel branco, cada B é um pixel preto e assim por diante.)

Um caso de uso combina várias capturas de tela de algo que você pode apresentar (como um mapa ou um jogo).

Uma breve pesquisa no Google não produziu software para fazer isso. Existem ferramentas de costura panorâmica como Hugin, mas elas são "inteligentes demais" e não tenho certeza se elas podem ser feitas para satisfazer o requisito "toda imagem de entrada deve ser uma colheita exata da saída".

    
por Prateek 09.04.2015 / 22:30

0 respostas