用于图像处理的工具

时间:2010-10-05 15:24:12

标签: java matlab image-processing wolfram-mathematica

我正在开发一个CBIR(基于内容的图像检索系统)作为我的BE项目的一部分。

下面提到的哪种工具最好用于图像处理?

1-> Matlab  
2-> Mathematica  

我打算使用java作为系统的前端来开发这个系统。以上哪个系统会更好。或者我应该为java ????

使用一些第三方图像处理API

6 个答案:

答案 0 :(得分:6)

我使用Mathematica多年,但仍然发现从头开始学习Matlab更容易进行图像处理project。让Matlab变得更好的是,许多最先进的图像算法都有可用的代码。例如,对于基于内容的图像检索,您需要提取内容功能,而vl_sift库就是这样做的。此外,您可以捆绑您的Matlab库以作为独立的可执行文件运行,我不知道这是否可以与Mathematica一起使用。

答案 1 :(得分:4)

我之前建议ImageJ和其他人提到ImageMagick,因为我提到了Java环境。但是,我想改变我的建议。我遇到了英特尔的OpenCV(开源计算机视觉)库。这是一组用于C,C ++和Python的很棒的库。这也是跨平台的!所以移植代码应该不会太困难。

为什么我认为OpenCV很棒是因为即使是图像处理中的新手(比如我)也可以使用它。例如,平滑图像就像调用一个函数cvSmooth()一样简单,其中包含几个参数类型的平滑(模糊,高斯等)。它支持更多高级功能,如光流和斑点跟踪。最棒的是,它可以快速测试或构建简单的图像变换。

了解更多信息,请转到http://opencv.willowgarage.com/wiki/。在这里你可以找到作弊,参考手册,例子和一些提示。非常有帮助和出发点。

由于

答案 2 :(得分:2)

衡量图像处理程序相对优势的标准是什么?例如,如果您是Mathematica专家,那么您会发现使用Mathematica更容易完成任务。另一方面,如果你是一个身无分文的学生,那么你会发现Java和它的一些库更符合你的口味。

编辑:回答OP的评论......

'易于图像处理'完全是主观的 - 如果您不知道 Mathematica 那么将难以将其用于图像处理 - 所以这是您的电话。

'处理时间'完全是客观的 - 但您是否有时间尝试所有3个建议选项并进行比较?对于BE项目,您可以更好地使用您最熟悉的工具,并花费尽可能少的时间来为了一点额外的速度与陌生的工具搏斗。

'细胞自动机'用于图像处理 - 不知道它有多相关,但 Mathematica 具有内置的细胞自动机功能。

答案 3 :(得分:0)

我会查看ImageMagick / GraphicsMagick系列(SO discussion),它有几个Java包装器(例如JMagick)。

答案 4 :(得分:0)

您可以使用ImageMagick或为什么不查看JMF(Java媒体框架)

答案 5 :(得分:-1)

Matlab是两者中最好的。它拥有庞大的内置库和数千种算法的实现。它快速,简单,文档齐全。