0

我正在研究图像和视频处理领域——特别是模式识别领域(物体、人等)。我希望使用编程语言将转换应用于图像和视频(更重要的是视频)。我正在考虑在 Xcode 中使用 C++ 来做到这一点。我想构建的算法我想从网络上获取数据(例如提交的视频) - 处理它们然后给出输出。我的问题有几个部分:

(1) C++ 是最好的语言吗?这可以在 Python 中完成吗?(我猜 C++ 比 Python 更快,可能可以处理更大的文件/更激烈的算法)

(2) 在 xcode 中为此设置项目的最佳方法是什么 - 它是直接 (A) 命令行工具“香草”项目还是我应该选择 (B) 目标 C 中的 Cocoa 应用程序?(我需要学习 Obj-C)

我的短期目标是写一些简单的算法,看看它们在视频上是如何工作的。然后将它(在后端)连接到前端 Web GUI(以便我可以将视频提交到我的代码)。卷不会很大 - 但文件大小可能很大。

任何见解将不胜感激。

最大限度。

4

4 回答 4

0

我的建议是让一个原型在 python 中工作,然后在你的算法工作后使用 boost 的 python 集成来重写 C++ 中的性能密集型部分。

于 2009-12-01T21:00:54.417 回答
0

如果您想专攻该领域,请立即将 C++ 用于算法部分——无论如何,您都必须学习如何有效地使用 C++。

关于项目类型——这并不重要,尽管如果你想稍后在应用程序周围包装一个漂亮的 GUI,你应该选择 Cocoa,如果不需要,你应该选择命令行应用程序。
由于使用 C++ 无关紧要,如果您注意一些警告,您可以在任何地方混合 C++ 源代码。将 C++ 与 Objective-C 结合使用可以对此有所了解。

于 2009-12-01T21:14:26.253 回答
0

如果您选择使用 C++(这对于该场景来说似乎是不合理的),您应该查看以下链接:

  • IPP - 也适用于非英特尔处理器,尤其是与英特尔 C++ 编译器结合使用,但价格昂贵
  • 英特尔提供了许多对并行化高性能数字运算(CPU 绑定的东西)有用的工具,例如TBBOpenMP(我认为这不是英特尔)
  • 也许OpenCV对你有用

希望能有所帮助。

于 2009-12-01T22:03:45.090 回答
0

1)如果您知道使用哪种语言,请学习。C++ 速度很快,但它是一种深度语言。幸运的是,它很受欢迎,您应该能够轻松找到有关它的帮助。这个选择由你; 有你想使用的库吗?他们使用什么语言?我有偏见,但我会推荐 C++ 而不是 C(我意识到这不是你问的)。

2) a) 命令行工具:C++。这将足够复杂,无需将 Cocoa/Objective-C 和用户界面添加到复杂性中。当你有一个有效的算法时,将它添加到一个库中。记住也要创建测试用例。

于 2009-12-02T08:40:26.927 回答