大家好,今天小编关注到一个比较有意思的话题,就是关于python编程航母的问题,于是小编就整理了1个相关介绍Python编程航母的解答,让我们一起看看吧。
对于初学者,用c++还是python开发opencv程序?
作为初学者,要学到能使用C++语言通过opencv开发应用的程度,除非你是天赋异禀,才智卓绝之辈,否则那必然是一个漫长的过程,python就不一样了,语法简单,开发环境配置简单,opencv调用也简单,照着网上的例子,做个像模像样的功能性程序不算太难,用哪种语言开发的关键在于:1.你的应用环境要求2.你对程序效率要求。
到底用哪个语言,这个还是要看你学习目的和对语言的熟悉程度,还有以下几个方面:
1. 哪种语言更容易上手?
通常来看Python更用一点,语法没那么复杂,敲几条代码就可以直接运行看结果了。C++本身的编码能力要求就比较高,写出来的程序还得编译之后才能运行看效果。
2. 两者的运行效率大吗?
opencv原始代码就是用C++编写的,其他语言的版本本身是对c++版本库的再次封装,从理论上来说原生的C++版本的效率会更高。 当然在有的场景下,效率差异可以忽略不计,主要看程序的使用情况。 如果是IO密集型的话,时间主要消耗在IO等待,那么OpenCV的性能差异就不明显了;如果是CPU计算密集型的话,那还是使用C++版本的更高。
3. 算法原型研究大多数使用python。
算法原型研究一般来说经常性的修改,需要快速验证各种算法思想的正确性,python写完就能看结果,很好的满足了这一需求。
算法到了生产环境,系统的性能绝大多数都花销到各个算法上面了,经常会出现CPU计算***不够的情况。 这时候必然要求算法优化,压榨性能,用C++版本是必然之选。
这个要相对而言,所有的学习或者开发都要应知其所以然。
如果你的C++功底深厚,可以直接用C++,基于VS平台+OpenCV包直接开发程序;
如果C++功底差,建议直接Python+OpenCV的方式来进行。
从个人的角度,Python上手会快些。
我来发表下我的看法:
1. 根据自己的知识体系,比如有C或者C++基础的话,当然用自己熟悉的语言来开发
难道相对就降低一点,使用python那么就得重新学习一门语言,从时间周期,学习成本
而言就会增加很多。
2. 根据项目或者业务需求,不同的项目或者业务需求,具体的要求肯定会不一样,用什么语言开发,这个没有最好的,只有最合适的。
3. opencv是一个开源的跨平台计算机视觉库,支持多种语言接口,在实际应用中,也可能存在多种语言共同协作。
4. 至于用哪种语言,遵循基本原则,成本(人力,时间,***等),稳定性,可维护性等。
希望以上回答能帮助到您!谢谢。
看你任务需求,openCV作为图像处理界航母的存在,存在多语言接口,不只是py与cpp,甚至还有java。
如果你只是想写写算法,建议你还是用python,因为python避免了复杂的指针操作,极大的简化了代码量,配合numpy这个神器,算法界无敌。
如果你要造轮子或者工业化部署亦或是跨平台(移动端/嵌入式)处理图像工程,建议还是用cpp。我开发内部的图像前向传播框架的时候也参考了CV重写了Mat。毕竟要压榨计算机性能,显然cpp结合内联汇编是最好的。
到此,以上就是小编对于python编程航母的问题就介绍到这了,希望介绍关于python编程航母的1点解答对大家有用。