Java ColorProcessor(ImageJ导入库)不会在Android中获取BitmapImage
我目前正在使用上找到的基于内容的图像检索算法 该算法被设置为在JRE上运行,但我已经适当地替换了导入,以便它在ADT上工作。例如,BuffereImage已被位图替换。 我的问题是,我不断地在屏幕上出现红线错误Java ColorProcessor(ImageJ导入库)不会在Android中获取BitmapImage,java,android,bitmap,imagej,cbir,Java,Android,Bitmap,Imagej,Cbir,我目前正在使用上找到的基于内容的图像检索算法 该算法被设置为在JRE上运行,但我已经适当地替换了导入,以便它在ADT上工作。例如,BuffereImage已被位图替换。 我的问题是,我不断地在屏幕上出现红线错误 ColorProcessor cp = new ColorProcessor(image); 错误为:;“构造函数ColorProcessor(映像)引用缺少的类型映像”。 有人能告诉我我遗漏了什么或是没有认出什么吗。任何帮助都将不胜感激 // a local version on
ColorProcessor cp = new ColorProcessor(image);
错误为:;“构造函数ColorProcessor(映像)引用缺少的类型映像”。
有人能告诉我我遗漏了什么或是没有认出什么吗。任何帮助都将不胜感激
// a local version on the computer
URL url = FeatureExtraction.class.getResource(name);
System.out.println("url = " + url);
Bitmap image = null;
// ImageIO is not supported in Android SDK so use Bitmap to achieve the
// same thing.
//Bitmap img = BitmapFactory.decodeFile(name);
// System.out.println("image = " + img);
try {
//image = ImageIO.read(url);
image = BitmapFactory.decodeFile(name);
//image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch(IOException e) {
System.out.println("read error: " + e.getMessage());
}
ColorProcessor cp = new ColorProcessor(image);
该错误实际上是在抱怨另一段代码,即ColorProcessor构造函数,它接受java.awt.Image()类型的参数 抱怨是它找不到java.awt.Image类定义,我认为Android中没有该定义(请参阅)
无论如何,您不能将图像变量传递给new ColorProcessor(),因为它的类型是android.graphics.bitmap()。。。与ColorProcessor所需的java.awt.Image完全不相关。认为会是这样。所以基本上没有办法绕过它?我无法在我的应用程序中使用ColorProcessor?位图不太可能被转换为android.graphics.Image对象,并且仍然会被传递到ColorProcessor?情况似乎就是这样。看起来不可能在Android上使用ImageJ(这真的太糟糕了)。。至少在不修改ImageJ本身的情况下是这样。可能会尝试修改,谢谢。我会让你知道事情的进展。你知道我可以用什么替代品吗?我听说有一个ImageJ 2.0,但它仍处于测试阶段,还不清楚它是否与ADT兼容。我宁愿保留我的代码并找到一个替代库,或者像你说的那样尝试修改ij本身。修改imagej1.x以在Android上运行是一个巨大的项目。ImageJ2项目的目标之一是使这样的事情成为可能,但还没有人对此付出认真的努力,这仍然是一项实质性的努力。如果你想继续,请随意加入邮件列表上的社区。