python - 如何为实时系统制作opencv?

标签 python matlab opencv computer-vision

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

6年前关闭。




Improve this question




实时系统需要一个快速高效的平台。我想知道哪种组合适合实时图像处理:OpenCV-Python、OpenCV-MVStudio (C++)、OpenCV-Matlab 还是 OpenCV-Java?我读过 CUDA,但如果我不想在我的项目中使用 CUDA,有没有办法开发一个快速的系统?

最佳答案

我可以评论 MATLAB、Python 和 C++,但不能评论 Java:

要在 MATLAB 中运行 OpenCV,您需要一些类似于 mexopencv (http://kyamagu.github.io/mexopencv/) 的东西。这会将许多 OpenCV 函数(并非所有函数都包括在内)编译成 MATLAB 可以读取和使用的 mex 文件。它可以工作,但可能不是实时应用程序的最快解决方案。但它对原型(prototype)设计很有用。

在 Python 中运行 OpenCV 更容易,运行效率更高,尽管它仍然是“间接的”,因为它需要 Python 包装器(因为 OpenCV 是用优化的 C/C++ 编写的)。

实时算法最有效的解决方案是使用 OpenCV 的本地语言,即 C++,避免语言之间的翻译步骤。

CUDA 或一般的并行处理是所有这些平台的一个选项。但是,它是否有利于您的代码速度在很大程度上取决于项目本身。通常并行化某些东西会使它运行得更慢而不是更快。看看https://en.wikipedia.org/wiki/Parallel_slowdown信息。

希望这可以帮助!

关于python - 如何为实时系统制作opencv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32090477/

相关文章:

python - 'object' 在 python 中有哪些方法?

python - 我可以将两个字符串散列为一个散列吗?

python - 来自列的 Pandas 多索引

linux - Matlab VideoReader 编解码器错误?

c++ - 无法使用 opencv 执行简单程序,错误 "Can' t 找不到程序的入口点”

opencv - 使用 Opencv 读取魔方的颜色

javascript - 什么是 Django 端点?

matlab - 在matlab中生成具有一般维数的网格

matlab - Matlab 中的非运算符行为异常

python - 如何计算高分辨率图像之间的匹配特征?