Como remover manchas de imagens?

10

insira a descrição da imagem aqui

Eu tenho essa imagem extremamente distorcida e manchada

É possível remover essa mancha? A pintura de imagem poderia ajudar?

Por favor ajude

EDIT: Outra imagem

insira a descrição da imagem aqui

Após aplicar a difusão anisotrópica e representar a imagem com imagesc (MATLAB)

insira a descrição da imagem aqui

Tentei pintar, mas o resultado não é bom o suficiente

insira a descrição da imagem aqui

Existe alguma maneira que eu poderia melhorar esta saída?

vini
fonte
Bem processamento que imagem isso é é sobre como fazer um computador para fazer isso por mim
vini
3
Na sua imagem, as manchas estão obviamente em um plano de foco separado. Portanto, eu pensaria em como decompor a imagem por planos de foco. Jogar um pouco inpainting e você deve ser feito :)
Emre
2
@vini Você tem várias imagens ou apenas esta? Consigo "bons" resultados criando uma máscara manualmente e pintando. É uma solução em que você estaria interessado?
Lorem Ipsum
3
Você não pode simplesmente limpar as janelas?
endolith 19/03/12
2
As imagens parecem ter dupla exposição e manchas. É esse o caso?
Charna 30/03/12

Respostas:

8

Esta não é uma resposta completa e clara, no entanto, estou deixando você com pelo menos alguma abordagem para você lutar. (Eu ficaria muito feliz em saber se você tem resultados).

Dê uma olhada nessas perguntas:

Remoção do brilho da imagem
Como remover o brilho e o brilho de uma imagem (pré-processamento de imagem)?

Eles estão essencialmente tentando resolver o mesmo problema.

Existem duas partes do problema,

uma. Identificando o local / mancha b. Substituindo a mancha pelo que teria sido no lugar da oclusão.

A natureza da pergunta está tentando resolver o problema exato (em algum sentido).

Isso não é coisa trivial. No entanto, nas duas perguntas, há algum padrão exclusivo que você pode explorar.

  1. Em todos os casos, o elemento de sobreposição que é necessário remover aqui é chamado como (mancha, brilho, ponto brilhante), a sobreposição tem uma matiz / cor única e distinta, que se distingue dos objetos / cenas comuns.

  2. P[x,y]=(1 1-α[x,y])S[x,y]+α[x,y]OvereuumayHvocêe
    S~[x,y]=(P[x,y]-OvereuumayHvocêeα~[x,y])/(1 1-α~[x,y])
    P[x,y]S[x,y]OvereuumayHvocêeS~[x,y]α~[x,y]
  3. O valor OverlayHue pode ser estimado independentemente, segmentando manualmente as regiões de pixel em que Stain ou Flash está claramente dominando.

  4. S~R[x,y]=(PR[x,y]-OvereuumayHvocêeRα~[x,y])/(1 1-α~[x,y])
    S~G[x,y]=(PG[x,y]-OvereuumayHvocêeGα~[x,y])/(1 1-α~[x,y])
    S~B[x,y]=(PB[x,y]-OvereuumayHvocêeBα~[x,y])/(1 1-α~[x,y])
  5. αS~

  6. αα

  7. S~[x,y]α~[x,y]

Isso pode não ser a solução perfeita, mas pode ser melhor do que o mais óbvio do que o corte no nível de pixel ou brincar com a saturação etc. Solicito sinceramente que você tente fazer isso no fim e nos mostre resultados (minha bancada de trabalho está atualmente uma bagunça, então eu não poderia faça!)

Espero que isto ajude.

Dipan Mehta
fonte