对Python+Numpy实时手势识别的好奇
我刚和我的导师开完实验室会议,之前的代码是用Matlab写的,它是离线模式,不是实时模式。所以我决定把它转换成Python+Numpy(离线版本)。但是在会议上,我的导师提到了一个问题,就是实时识别的速度,这让我对用Python+Numpy来做这个项目的速度产生了疑问。或者用C语言会更好?我的项目是使用电子手套(有两个传感器)来获取实时数据并进行数据处理和识别。
3 个回答
0
你可以看看 OpenCV,它有一些适用于Python的库,比如ctypes-opencv 和 opencv-cython;不过我自己没有用过这些库。
理想情况下,你希望能把一个运行速度很快的C语言内部循环和一个灵活的Python/Numpy算法结合起来。
顺便说一下,去谷歌搜索“opencv 手势识别”,会有6680个结果。
1
我觉得答案主要取决于三个方面:你在Matlab中的编程水平、你在Python/Numpy中的编程水平,以及你的算法。如果你能认真地把所有操作都转化为向量形式,并且善用库函数,那么Matlab和Python在处理数字方面都能很快。
如果你的Matlab代码已经写得很好了,我会很惊讶你在转到Numpy后能看到多大的性能提升,除非你能找到一些特别的写法来帮助你。你转到C语言后可能也不会有太大的好处。在这种情况下,你可能更应该把精力放在优化你的算法上。
如果你的Matlab代码写得不太好,你可以选择:1)写更好的Matlab代码,2)用好的Numpy代码重写,或者3)用C语言重写。