数字图像处理框架

信息处理 图像处理 离散信号 图片 矩阵
2022-01-27 22:41:46

我正在寻找一种用于数字图像处理的免费/开源解决方案,该解决方案具有处理相当大图像的合理性能(例如,实际智能手机的分辨率为 8-10Mpx)并准备好进行快速原型设计/研究。

  • Octave 将是一个很好的解决方案,因为它提供了许多统计和矩阵操作工具。但是,在运行嵌套循环时 octave 太慢,并且在显示图像时提供的图像包太慢。
  • Octave + MIJ 将是一个更好的解决方案,但实际上由于速度慢和不同的数据类型处理需求而显得不可用且不稳定。
  • OpenCV 具有出色的性能,但对于快速原型设计来说并不是很方便,因为我实际上需要脚本语言(无需编译、在线代码/变量修改等)和一些工具(如 octave 有)来绘制函数,图表、直方图并进行统计计算。

有什么建议吗?非常感谢你

1个回答

我的第一个和第二个选择是 Python 和 IDL,不一定按任何顺序。

Python 深受科学家、工程师和艺术家的欢迎,众所周知,在所有平台上,免费和开放。你需要 Numpy 和 PIL(Python 图像库)。Python在很多Matlab曾经统治的地方越来越常用。

IIT-VIS 的 IDL(我认为它现在是一个不同的名称)类似于 Matlab 等,但多维数组的语法更好。非常受天文学家、地质学家和其他人的欢迎。它有缺陷。IDL 成本 $$ 但幸运的是有一个名为 Fawlty Language 的免费版本。它不是开源的,但是是免费的(上次我检查过。)我没有方便的链接,但谷歌它。还有 GDL,它是 Gnu 尝试创建一个与 IDL 兼容的解释器,但上次我尝试它时,它并不是那么好。

我不喜欢 Octave,因为它对于三维和更高的数组来说很笨拙。图像只有 2D,但我经常需要处理它们的堆栈,并且可能有 RGB 或其他类型的通道。