OCR: Como encontrar a ColorMatrix direito de definir novas cores?
Pergunta
Eu estou preso no momento com a definição da dimensão de cada linha. A lista Eu quero raspar tem várias cores nela, eo que me perturba mais uma seleção:
Como você pode ver a imagem que tentar analisar tem um fundo branco com texto verde. O fundo de seleção é cinza com texto preto. E cada segunda linha tem um fundo ligeiramente mais grisalho, mas eu consegui para manipular o contraste com a ColorMatrix.
Apenas para referência, eu tenho algumas outras ColorMatrizes como Greyscale, Negativo, SetContrast, SetBrightness e assim por diante.
O meu método, que está à procura das linhas funciona bem com a maior parte da imagem, mas a seleção freios-lo.
Então agora eu estou preso e não sei o que fazer. Eu pesquisei por uma hora, mas não encontrou uma solução.
Eu pensei que talvez eu possa transformar o fundo cinzento da seleção para o branco, sem afetar o texto e escala de cinzentos do resto da imagem. Mas eu não posso encontrar um ColorMatrix que faz o trabalho.
Você sabe que um ou tem uma solução melhor?
Solução
Por que usar uma cor-matriz em tudo?
Ele funciona (pelo menos para o seu exemplo específico) muito mais fácil com a operação -threshold
do ImageMagick:
convert \
http://img18.imageshack.us/img18/210/lobbymd9.jpg \
-threshold 50% \
result.jpg
Resultado Visual:
=>
Thresholding basicamente folhas mais de apenas 2 os valores máximos (zero ou) para cada cor. Cada valor inferior ao limiar fica definido para 0, valores acima do limiar prepare-se para 255 (ou 65535 se trabalhar na profundidade de 16-bit). O efeito final é uma imagem preto + branco puro.