ZoRaC Skrevet 19. februar 2008 Skrevet 19. februar 2008 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...
pgdx Skrevet 21. februar 2008 Skrevet 21. februar 2008 Hva er ditt første mål? Å klare å finne RGB-verdien til en piksel i et bilde metoden tar inn som argument?
sberg43 Skrevet 24. februar 2008 Skrevet 24. februar 2008 (endret) 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 24. februar 2008 av sberg43
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå