Gå til innhold

Anbefalte innlegg

Har et skjema som er scannet inn til en PNG-fil.

Bilde har en vertikal strek til høyre på arket, som er tenkt brukt til å rotere/forskyve bildet i tilfelle det har blitt førskjøvet ved scanning.

 

Trodde jeg var på rett vei her, men det er ikke ut til å fungere!

Noen ideer?

public void alignImage(String imgName) {
	Image img = Toolkit.getDefaultToolkit().getImage(imgName);
	BufferedImage bi = new BufferedImage(600, 900, 
			BufferedImage.TYPE_INT_RGB);
	bi.getGraphics().drawImage(img, 0, 0, null);

	System.out.println(bi.getRGB(50, 750));
}

 

Tanken er altså å "finne" streken etterhvert, men foreløpig har jeg ikke kommet lengre...

Ser ut til at getRGB gir "0" som resultat uansett...

Lenke til kommentar
Videoannonse
Annonse

Du knytter ikke bildet du har lest om BufferedImage objektet så det er ikke rart om du får 0 på data-verdiene til bi-objektet.

 

Foreslår noe slikt for å lese RGB verdiene til alle piksler i et bilde:

 

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ReadImage {
    public static void main(String[] args)  throws IOException{
        int pixel, red, green, blue;

        File file = new File("bilde.jpg");
        BufferedImage image = ImageIO.read(file);

        for (int i=0;i<image.getWidth();i++){
            for (int j=0;j<image.getHeight();j++){
                pixel = image.getRGB(i, j);
                red = (pixel >> 16) & 0xff;
                green = (pixel >> 8) & 0xff;
                blue = (pixel) & 0xff;
                System.out.println("RGB-value at (" + i +","+j+"): " +red +","+green+","+blue );
            }
        }
    }
}

Endret av sberg43
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...