图像处理编码


12

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

最有效的语言是什么?

Answers:


12

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

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管道硬件架构以利用任何效率提升)


-1

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.