实时系统需要一个快速高效的平台。我想知道哪一个组合适合实时图像处理:OpenCV,OpenCV (C++),OpenCV还是OpenCV?我读过有关CUDA的文章,但是如果我不想在我的项目中使用CUDA,有什么方法可以开发一个快速的系统吗?
发布于 2015-08-20 07:44:09
我可以对MATLAB、Python和C++发表评论,但不能评论Java:
要在MATLAB中运行OpenCV,您需要一些类似于mexopencv (http://kyamagu.github.io/mexopencv/)的内容。这会将许多OpenCV函数(并非所有函数都包括在内)编译成mex文件,供MATLAB读取和使用。它可以工作,但可能不是实时应用程序最快的解决方案。但它对原型设计是有用的。
在Python中运行OpenCV更容易,运行效率更高,尽管它仍然是“间接的”,因为它需要一个Python包装器(因为OpenCV是用优化的C/C++编写的)。
实时算法最有效的解决方案是使用OpenCV的本地语言,即C++,避免语言之间的转换步骤。
CUDA或一般的并行处理是所有这些平台的一种选择。然而,它是否将有利于您的代码的速度在很大程度上取决于项目本身。通常,并行化可以使它运行得更慢,而不是更快。查看slowdown获取信息。
希望这能有所帮助!
https://stackoverflow.com/questions/32090477
复制相似问题