Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OpenIMAJ和图像读取异常_Java_Image Processing_Openimaj - Fatal编程技术网

Java 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

我遵循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 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和基于元刷新的重定向)