OpenCV就是CV世界的全部?

描述

在我一开始接触CV的时候,所有的资料都和我说,OpenCV,甚至一段很长一段时间里,我以为OpenCV就是CV世界的全部,但是随着研究的深入。。。

对不起,是我肤浅了。。。

但是不可否认的是它霸主的地位

但是有个奇怪的事情,就是它的Python API我是死活也找不到。。。而且,新添加的算法,都是C++的,我今天看见加了一个无损的ROI复制的功能,C++写的,你想用Python?吃屁吧你!(除了自己写)

OpenCV

但是它的文档依旧是很不错的学习资料

OpenCV

而在使用的内部也是就导入了了C++的一些编译好的文件

OpenCV

当然也可以去看Pypi上面的库

OpenCV

可以看到你pip的都是机器自动化编译的

OpenCV

库可以使用dorker编译

其实更新速度倒是很快,但是文档你看着C++的,写着Python,有点难受。

OpenCV

但是它给了一给pyi的文件,可以辅助编程。

OpenCV

是我肤浅了。。。VScode的一个插件生成的。

OpenCV

真真正正的CV2 是这样的

虽然写文字2不该 一贬一扶,但是针对现阶段的这个很烂的学习水平,纯C++属实是有点难为我。

所以就要找一个纯Python实现,而且功能不差,依赖的库又少,以及还在持续更新的库。

经过对比:

OpenCV

这个库映入眼帘

OpenCV

几乎是纯Python编写

OpenCV

持续更新

OpenCV

丰富的Demo

OpenCV

一份简短但是不失实用性的小手册

OpenCV

丰富的API文档

OpenCV

下载源码以后,打开核心的库,可以看到有着明显的分层

OpenCV

打开IO模块

OpenCV

可以看到实现其实是很简短的

OpenCV

是不是几乎是看懂了(我怕你看不懂)

当然了,这些编写都是符合pep8的规范的,我扫描了一下,确实是格式的毛病不多。

OpenCV

在这个data的文件夹里面有很多预先设置的图像

OpenCV

我们拿猫开刀

OpenCV

注意这个显示的时候没有实现单独的解码器,而是进行了复用

OpenCV

这里我也把掩码的数组打印出来了

OpenCV

最终我们的猫猫被处理出来

OpenCV

当然也有可以生成3维的图形啥的

OpenCV

这些就是库可以完成的内容,很多

OpenCV

平时图像处理要完成一些奇奇怪怪的预处理,这里也很完整的有实现过程

OpenCV

这里有一个奇怪的文件夹

OpenCV

查了一下是好像是这个

OpenCV

基准测试

基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。

OpenCV

突然发现微信的编辑器,有这个功能了

OpenCV

在doc里面,还有一些demo

OpenCV

随便看一个(就是第一个)

OpenCV

另外一个demo

OpenCV

用的时候导入最顶层的skimage

OpenCV

如果不指定会导入所有的模块

OpenCV

当然也可以使用这样的语句把所有的自带图片注册到系统路径

但是它对视频的处理不友好,可以使用PyAV这个库,当然你要下载二进制的FFmpeg。

 

https://github.com/BtbN/FFmpeg-Builds/releases

 

OpenCV

OpenCV

 

https://joblib.readthedocs.io/en/latest/

 

OpenCV

图像处理需要进行大量的重复操作,也可以使用Jpblib来加速这个过程。

总的来说,这个库是现阶段和适合深入研究的库,至少以Numpy打底,日后搞什么都OK。

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分