Java OpenIMAJ和图像读取异常
我遵循OpenIMAJ教程,运行以下代码时:Java OpenIMAJ和图像读取异常,java,image-processing,openimaj,Java,Image Processing,Openimaj,我遵循OpenIMAJ教程,运行以下代码时: import java.io.IOException; import java.net.URL; import org.openimaj.image.ImageUtilities; import org.openimaj.image.MBFImage; import org.openimaj.image.colour.ColourSpace; import org.openimaj.image.colour.RGBColour; public cl
import java.io.IOException;
import java.net.URL;
import org.openimaj.image.ImageUtilities;
import org.openimaj.image.MBFImage;
import org.openimaj.image.colour.ColourSpace;
import org.openimaj.image.colour.RGBColour;
public class App {
public static void main( String[] args ) throws IOException {
MBFImage image = ImageUtilities.readMBF(new URL("http://dl.dropbox.com/u/8705593/sinaface.jpg"));
System.out.println(image.colourSpace);
}
}
我得到以下例外情况:
Exception in thread "main" java.io.IOException: org.apache.sanselan.ImageReadException: Can't parse this format.
at org.openimaj.image.ExtendedImageIO.read(ExtendedImageIO.java:189)
at org.openimaj.image.ExtendedImageIO.read(ExtendedImageIO.java:238)
at org.openimaj.image.ImageUtilities.readMBF(ImageUtilities.java:381)
at somefolder.App.main(App.java:37)
Caused by: org.apache.sanselan.ImageReadException: Can't parse this format.
at org.apache.sanselan.Sanselan.getImageParser(Sanselan.java:621)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1260)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1163)
at org.apache.sanselan.Sanselan.getBufferedImage(Sanselan.java:1136)
at org.openimaj.image.ExtendedImageIO.read(ExtendedImageIO.java:187)
... 3 more
有人知道我怎么解决这个问题吗?谢谢
编辑:如果我下载图像并从文件系统中读取它,它就会工作。尽管如此,我还是想理解为什么从URL读取不起作用。Dropbox不久前更改了URL&现在使用302重定向到。当您打开原始URL时,Java的URL类不遵循重定向,最终导致此错误 我们已经用新的工作URL修复了开发版本的文档: (注意:如果您需要处理重定向,
org.openimaj.io.HttpUtils
类具有从URL打开InputStream
s的功能,同时处理web上发现的许多可能的重定向策略,包括302s和基于元刷新的重定向)