我想知道哪种图像处理是最好的语言?我知道MATLAB有一个很好的库和用户社区。我还没有检查出来,也有python。

最有效的语言是什么?

#1 楼

这不仅与编程语言有关,还与您正在使用的库有关。我可以想到以下几点:

MATLAB-图像处理功能还可以,但是对于更高级和实时的处理,您将需要一些底层的东西。此外,它不能提供很好的可移植性。

Mathematica-适用于原型设计和快速可视化,但这只是我的拙见。

OpenCV-我认为这是IP社区中最受欢迎的库。强大的功能(GPU计算,机器学习模块,GUI-您还需要什么?),快速且仍在开发中(因此非常小的bug很快就会被清除)。关于社区-很大!主要用于C / C ++编程,但也适用于Python(可能适合您)。

JAI-Java Advanced Imaging-仅当您喜欢Java时。我个人不喜欢它。

ImageMagick-您可以将其与多种编程语言一起使用,请检查API。

CxImage-很好,如果您想创建比以下更好的东西MS Paint和Photoshop的某些功能。

CImg-显然可与C ++一起使用,但OpenCV仍然更好。

PIL-特定于Python的库,具有许多功能。如果您喜欢它,那么可以仔细看一下。

SimpleCV-基本上,它是带有一些调整的OpenCV python绑定。非常容易使用且非常有效。

scikit-image-也是Python库,但在我看来比SimpleCV差(尽管我的朋友不同意)。优点之一是它们包括DAISY特征提取器-如果您需要密集的特征,则非常有用。

GIL-Boost的一部分,但功能不如OpenCV。尽管如果您喜欢并使用Boost,则可以使用某些基本功能。

ResIL-DevIL项目的延续。一个主要优点是可以处理许多文件格式,包括一些游戏文件。

PINK-最初用C ++编写。我最近试用了它,与之合作非常愉快。与Python的强大集成以及在嵌入式C语言中的快速实现。除此之外,它们确实有很多不错的算法。

显然,还有更多的图像处理库,但是这些是我接触过的。因此,如果您想从头开始,那么选择OpenCV(最好使用C ++框架)-您​​将不会后悔!另一方面,如果您的编程技能不强,那么您可能要考虑使用基于Python的库-真的很容易学习和设置。

#2 楼

MATLAB是学习图像处理的最佳语言。 (我认为)

它简单易学,与硬件无关,比任何编译语言都更灵活,可能比脚本语言更高效(由于其固有的dll已针对机器级信号处理进行了优化) ),它具有良好的学术和工程支持。

C / C ++是创建独立的图像处理应用程序的最佳语言。在您的IDE套件下,您可能会生成最有效的本机代码。 C ++的IDE提供了更好的机器级别调试功能。

还使用了一些脚本语言。它们确实是灵活的,可移植的,甚至是相当高效的,但是在低级别调试可能并不容易。

CUDA,OpenCL等新的GPU处理功能也大大提高了计算吞吐量。 (但是,由于您应该了解底层的GPU管道硬件架构以利用任何效率提高,因此学习起来比较困难)

#3 楼

如果您想使用自己的算法或代码,则可以包含OpenCL,因为许多图像处理内核都是“令人尴尬的并行”。

或者,在Big Iron上,Fortran在数字矢量性能方面仍然胜过大多数其他语言。 。