Results 1 to 9 of 9
Thread: Reading in an image file
- 11-17-2010, 02:26 PM #1
Member
- Join Date
- Nov 2010
- Posts
- 5
- Rep Power
- 0
Reading in an image file
I am trying to read in a jpeg image to a BufferedImage and I am getting an error, "Can't read input file". Here is my code:
Java Code:package StereoCorrespondence; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** * * @author bheussler */ public class StereoCorrespondence { public StereoCorrespondence() throws IOException { StereoCorrespondence.loadImage("images/mapleft.jpeg"); } public static BufferedImage loadImage(String ref) throws IOException { BufferedImage bimg = null; bimg = ImageIO.read(new File(ref)); System.out.println(bimg.getHeight()); return bimg; } public static void main(String[]args) throws IOException { StereoCorrespondence stereoCorrespondence = new StereoCorrespondence(); } }
- 11-17-2010, 02:56 PM #2
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
What's the full exception you get?
Including stack trace.
- 11-17-2010, 02:59 PM #3
Member
- Join Date
- Sep 2010
- Posts
- 3
- Rep Power
- 0
check the image path u have specified.Make sure its under package images
- 11-17-2010, 03:08 PM #4
Member
- Join Date
- Nov 2010
- Posts
- 5
- Rep Power
- 0
Fix!?!
I got it to work. Here is the code:
The only issue is that I have to use the full path location for the images, rather than just referencing them from the local "images" directory.Java Code:/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package StereoCorrespondence; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** * * @author bheussler */ public class StereoCorrespondence { public StereoCorrespondence() throws IOException { BufferedImage mapleft = StereoCorrespondence.loadImage("/Users/bheussler/NetBeansProjects/StereoCorrespondence/src/StereoCorrespondence/images/mapleft.jpeg"); BufferedImage mapright = StereoCorrespondence.loadImage("/Users/bheussler/NetBeansProjects/StereoCorrespondence/src/StereoCorrespondence/images/mapright.jpeg"); BufferedImage conesleft = StereoCorrespondence.loadImage("/Users/bheussler/NetBeansProjects/StereoCorrespondence/src/StereoCorrespondence/images/conesleft.jpeg"); BufferedImage conesright = StereoCorrespondence.loadImage("/Users/bheussler/NetBeansProjects/StereoCorrespondence/src/StereoCorrespondence/images/conesright.jpeg"); BufferedImage teddyleft = StereoCorrespondence.loadImage("/Users/bheussler/NetBeansProjects/StereoCorrespondence/src/StereoCorrespondence/images/teddyleft.jpeg"); BufferedImage teddyright = StereoCorrespondence.loadImage("/Users/bheussler/NetBeansProjects/StereoCorrespondence/src/StereoCorrespondence/images/teddyright.jpeg"); System.out.print(mapleft.getHeight()); } public static BufferedImage loadImage(String ref) throws IOException { BufferedImage bimg = null; bimg = ImageIO.read(new File(ref)); return bimg; } public static void main(String[]args) throws IOException { StereoCorrespondence stereoCorrespondence = new StereoCorrespondence(); } }Last edited by meestafa; 11-17-2010 at 03:11 PM.
- 11-17-2010, 03:27 PM #5
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
<class>.getResourceAsStream().
- 11-17-2010, 04:44 PM #6
Member
- Join Date
- Nov 2010
- Posts
- 5
- Rep Power
- 0
This is the line that I try:
It doesn't work and says, "Uncompilable source code"Java Code:BufferedImage mapleft = StereoCorrespondence.loadImage(getClass().getResourceAsStream("images/mapleft.jpeg"));
- 11-17-2010, 04:48 PM #7
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
It's the call to ImageIO.read that should have the getResourceAsStream. Unless you've chnged the signature to the loadImage() method to take an InputStream instead of a String.
By the way, I'm sure there's more detail to your problem than simply "Uncompilable source code".
- 11-17-2010, 05:08 PM #8
Member
- Join Date
- Nov 2010
- Posts
- 5
- Rep Power
- 0
I haven't changed the loadImage(). It still takes a string. So what you are saying is that my code should look like:
?Java Code:BufferedImage mapleft = StereoCorrespondence.loadImage(ImageIO.read(getResourceAsStream("http://www.java-forums.org/images/mapleft.jpeg")));
ps, i dont know why the code won't displayLast edited by meestafa; 11-17-2010 at 05:12 PM.
- 11-17-2010, 05:11 PM #9
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
No no no no no no no no!
(and a couple more for luck ;))
Your loadImage() method has a String parameter.
Your call from a couple of posts up was passing an InputStream into it...hence (at a guess, since you haven't actually said what the error was) your compilation error.
I suggested passing a String in as you were originally, and changing the loadImage() code so it did ImageIO.read(getResourceAsStream(etc etct)), rather than the read(filename) that it is currently doing.
Similar Threads
-
Reading and Writing the contents of a file to another file
By priyankatxs in forum New To JavaReplies: 9Last Post: 10-20-2009, 10:52 AM -
[SOLVED] how to reading binary file and writing txt file
By tOpach in forum New To JavaReplies: 3Last Post: 05-09-2009, 11:31 PM -
Image reading from URL problem
By paras in forum Advanced JavaReplies: 4Last Post: 04-18-2009, 07:26 AM -
[SOLVED] Image reading from URL problem
By paras in forum New To JavaReplies: 3Last Post: 04-18-2009, 05:11 AM -
To open an image file such as Jpeg file using JAva Program
By itmani2020 in forum Advanced JavaReplies: 10Last Post: 07-11-2008, 09:57 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks