python 只用opencv吗_用C 和python开发opencv程序比较?

本文探讨了使用Python和C++进行OpenCV开发的差异。Python上手更快,接口丰富,但可能由于GIL和转换开销导致效率略低。C++则提供更高的运行效率,适合CPU密集型任务。在开发成本和运行成本之间权衡,Python适合快速原型开发,而C++适用于性能敏感的应用。
摘要由CSDN通过智能技术生成

用C++和python开发opencv,

1.哪个更容易上手?

2.代码运行的效率差距大吗?

3.两个语言对应的openCV的库有不同吗?

4.对于非程序员的研究人员,想要开发一个视觉产品,选用哪个比较好

我的毕业设计就是用OpenCV 2写的,前期使用C++写了个Demo,最后的成品是用Python 2写的。

两者主要的区别在于接口和效率。

实际上Python和C++的OpenCV接口几乎一样,不同的是用C++的话,矩阵用的是cv::Mat,Python里面用的是numpy.array,用法和接口都不一样,但文档丰富,使用也非常方便,原理也相似。

效率方面,Python的接口实际上只是一层Binding,最终还是调用libopencv_*.so里面的函数,所以在OpenCV这一层效率与C++是完全一致的。唯一不同的就是它的numpy.array和cv::Mat。Numpy底层也是使用C Extension的方法写,但相比C++版的OpenCV接口,Python的接口需要把Numpy的数据转化成OpenCV的C接口可接受的输入。

实测Python写的程序会慢,但具体慢多少并没有测试数据可支撑。

用Python写实际上也不会比C++开发快多少,因为接口都是一样的,我建议不如直接用C++写。

简单说两句,选python还是C++,考虑下面几个问题

1. 性能压力在哪里?python的GIL使得多线程不能多核并行,必须用多进程,而且天生python要比c++慢一些。因此如果是cpu密集型,建议用C++,如果是IO密集型,python没有那么大的劣势。

2. 开发成本高还是运行成本高,一个开发人员一个月多少钱,一个服务器一个月多少钱,通常来说前者越来越贵而后者反之,权衡下利弊,C++开发要比python慢,在性能都达标的情况下,如果节省的服务器成本能抵过开发成本,用C++,反之用python。

1,差不多,基本调用参数都一样,格式符合各自语言规范。

2,在我开发的程序中python比cpp明显有差距,但是换到工作用的电脑上这个差距就看不错来了,so,硬件配置好一些,用python做实时也是没有问题的。外,感觉同样的函数python就是比cpp慢一些,虽然上面说到python底层用的也是lib。

3,基本一样。(python可能功能稍微差一点2.4.8版本有个函数没在python中找到,但是也就那一个)

4,python比较简单,开发可能快一点(主要是软件的其他部分可能比较容易开发)。

下载更多资料可以点击:http://a.eqxiu.com/s/klhbni3Z 官方微信:baweixuexiao

QQ交流群:225759209 qq:532634714

咨询网址:http://www.bwie.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值