você pode usar tecnologias web.. Já fiz algo parecido, e é relativamente simples utilizando canvas e javaScript.

Vc carrega a imagem no canvas usando um context2d e usa a função getImageData(cordenadas).data. Isso vai retorna um array com o valores rgba do ponto especificado, dai é só mapear os intervalos desses valores para as strings.

Muito obrigado pela ajuda você pode me passar algum contanto seu para eu entra em contanto com você para tirar algumas duvidas