Preciso criar algoritmo em java que possibilita ver informaçao embaixo de uma cor numa imagem

Ola Pessoal!

Estou tentando desenvolver um programa em java que leia uma imagem e percorra todas as cores da imagem e diga se embaixo de cada cor que esta na imagem tem ou nao tem informacao se tiver imprime se nao imprime que na zona x cor nao tem informacao, por exemplo após ler a imagem diz que na imagem que tem na zona x de cor tem ou nao tem informacao

Desde já Agradeço

O que você quer/precisa se chama estenografia.

nao é estenografia que preciso é como neste exemplo abaixo :point_down: :point_down: :point_down:
testeGUI

Este codigo responde a necessidade de ler informacao que esta na imagem nao embaixo de uma cor da imagem.

package tesseractexample;

import java.awt.Color;
import java.awt.image.BufferedImage;

import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import net.sourceforge.tess4j.*;
import org.opencv.core.Core;

public class TesseractExampleMain {

public static void main(String[] args) {
    String caminhoImagem = "path/to/image.jpg";
    String tessdata = "C:\\Program Files\\Tesseract-OCR\\tessdata";

    
    File imageFile = new File(caminhoImagem);
    BufferedImage image = null;
    try {
        image = ImageIO.read(imageFile);
    } catch (IOException e) {
        e.printStackTrace();
    }
    // Instancie o objeto Tesseract
    Tesseract tesseract = new Tesseract();

    // Configure as propriedades do Tesseract
    tesseract.setDatapath(tessdata);
    tesseract.setPageSegMode(1);
    // Extraia o texto da imagem
    String extractedText = null;
    try {
        extractedText = tesseract.doOCR(image);
    } catch (TesseractException e) {
        e.printStackTrace();
    }
    // Imprima o texto extraído na saída padrão
    System.out.println(extractedText);
}

}

Ah, vc quer uma bola de cristal. Não tem como. A cor azul não está em cima da cor preta das letras, mas sim está no lugar da cor preta. Alguns formatos de imagem permitem a criação de camadas, mas aí depende do formato. Se eu entendi direito o que vc quer, que seria inferir esses dados com base numa imagem flat (sem camadas), aí é pura adivinhação, ou seja, não dá.

1 curtida

eu sei que tem como resolver isso.

Então tá. Boa sorte :wink:

Só tem como resolver isso se a imagem for um formato que comporta múltiplas camadas.
A imagem que você postou não possui múltiplas camadas, então, como o @davidbuzatto já explicou mas você não quis acreditar, os pixels azuis simplesmente substituíram os pixels que havia antes.
Sendo assim, não tem como você obter os pixels que estavam lá antes da edição.

1 curtida

ok