摘要:目前,支持尚未完成仅支持加载编码的和,还未支持编码。部分支持对象检测网络的版本缺少一些提供矩形列表的最终图层。而且,此更改也已添加到分支。请注意,仅在英特尔上进行测试,因此仍需要额外的。为了使实时采集处理有高效,在模块中更新了支持。
OpenCV 4.0 正式版来啦!虽然官网还没更新,但Github已经放出来了!
重回英特尔的OpenCV终于迎来一次大版本更新,增加了诸多新特性,快来一起看看吧~
因为OpenCV最开始开发时的语言是C,导致许多模块无法利用C++ 11的良好特性,OpenCV 4.0版本的一个重要使命就是去除C语言风格的接口,使其完全支持C++ 11!
1.大量从OpenCV 1.x遗留的C语言分割的API接口被删掉,主要影响的模块是objdetect, photo, video, videoio, imgcodecs, calib3d。
2.在core模块中的持久化(在XML,YAML或JSON中存储和加载结构化数据)已用完全用 C ++ 重新实现,并去除了相应的 C 风格的接口。 目前,base64支持尚未完成(仅支持加载base64编码的XML和YAML,还未支持编码)。 现在,存储在FileNode中的序列的随机访问是O(N)操作; 使用cv :: FileNodeIterator能够更快地进行顺序访问。 速度上,FileStorage的加载比以前的实现少了3-6倍的内存!
3.编译新版OpenCV现在需要支持 C++ 11 的编译器。
DNN(深度神经网络)模块是目前OpenCV更新最重要的模块!
1.增加Mask-RCNN模型支持。
其使用指南:
https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API
Python例子:https://github.com/opencv/opencv/blob/master/samples/dnn/mask_rcnn.py
52CV曾经报道过的例子:
OpenCV4.0 Mask RCNN 实例分割示例 C++/Python实现
2.集成ONNX解析器。 支持多个流行的分类网络。 部分支持YOLO对象检测网络(YOLO的ONNX版本缺少一些提供矩形列表的最终图层)。
3.通过引入Intel DLDT 改进DNN模块速度。
Intel DLDT近期已经开源,相见:
https://software.intel.com/openvino-toolkit
4.API更改:默认情况下,blobFromImage方法不会交换R和B通道,也不会对输入图像进行裁剪。 而且,此API更改也已添加到OpenCV 3.4分支。
5.为不支持OpenCL而支持Vulkan的硬件平台添加了实验性质的Vulkan后端(还在开发中!不建议大家使用——52CV君)。
6.为OpenCV支持的最流行的深度学习网络添加了快捷方式。 可以通过指定模型的别名,跳过预处理参数甚至模型的路径!
比如:
python object_detection.py --model opencv_face_detector.caffemodel --config opencv_face_detector.prototxt --mean 104 177 123 --width 300 --height 300
可以直接被替代为:
python object_detection.py opencv_fd
7.修复了AMD和NVIDIA GPU上的OpenCL加速。 现在,可以为模型启用DNN_TARGET_OPENCL,开启OpenCL支持。 请注意,DNN_TARGET_OPENCL_FP16仅在英特尔GPU上进行测试,因此仍需要额外的flags。(这个善意的提醒也就意味着你较好不要用那两家的显卡玩OpenCV
G-API为算法的硬件优化加速提供计算图支持!
opencv_gapi是全新添加的模块, 它是非常有效的图像处理引擎。开发者可以在程序中定义多个图像处理步骤组成的图,执行的时候进行优化,使得fast and portable。
非常看好这一模块的应用!
“加速”是OpenCV开发永恒不变的主题!
每次发布这块的说明都差不多,总结起来就是一句话:
我们很努力地给你们在CPU的指令级上进行了加速,只要是支持该指令的CPU尽量让你们用上,而且我们还支持NEON了哦~
objdetect模块新增QR码的检测和解码!
因为这个功能在移动端几乎成为APP的标配了。
参考例子:
https://github.com/opencv/opencv/blob/master/samples/cpp/qrcode.cpp
52CV曾经对检测功能进行了测试:
OpenCV4.0 快速QR二维码检测测试示例
实现了流行的Kinect Fusion算法!
并针对CPU和GPU(OpenCL)进行了优化,集成到opencv_contrib / rgbd模块中。 为了使实时采集处理有高效,在opencv / videoio模块中更新了Kinect 2支持。 在4.0 beta版本中,iGPU的代码已经加速,在高分辨率的情况下(512x512x512 integration volume),性能提升了3倍。
非常高效且高质量的DIS密集光流算法已经从opencv_contrib转移到opencv/video模块。
示例:
https://github.com/opencv/opencv/blob/master/samples/cpp/dis_opticalflow.cpp
这还是比较赞的,之前OpenCV的光流模块相比学术界的成果实在是太弱了。
总结
新版OpenCV更加聚焦图像处理基础功能和深度学习模块!英特尔自家的加速库和G-API是值得表扬的亮点!
声明:文章收集于网络,如有侵权,请联系小编及时处理,谢谢!
欢迎加入本站公开兴趣群商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/4842.html
摘要:跳票之王终于发布了带来了一系列激动人心的新特性,包括新的时间日期,以及和,在多线程环境下性能提升不少。 跳票之王Java8终于发布了! Java8带来了一系列激动人心的新特性,包括lambda、新的时间日期AOPI,以及AtomicInteger和AtomicLong,在多线程环境下性能提升不少。 showImg(http://segmentfault.com/img/bVb0D2...
摘要:距离正式版发布又过了两个月,飞冰迎来了大版本的更新。飞冰是什么详细的飞冰背景和介绍等,请参照正式版发布的介绍,这里不再赘述。飞冰带来了什么支持项目开发千呼万唤始出来。其次,已经进行全面升级,支持自定义物料源项目识别等功能和相关逻辑处理。 距离 1.0 正式版发布又过了两个月,飞冰迎来了 2.0 大版本的更新。 飞冰 2.0 是什么? 详细的飞冰背景和介绍等,请参照 1.0 正式版发布的...
摘要:千呼万唤始出来,有状态集群服务部署与管理下将着重介绍与有状态集群服务相关的两个新特性和。把这些特性和有状态集群服务关联起来串一下,我们可以用来管理一个有状态服务集群,里每个对应集群的一个成员,集群的初始化可以用来完成。 千呼万唤始出来,《Kubernetes有状态集群服务部署与管理(下)》将着重介绍Kubernetes与有状态集群服务相关的两个新特性:Init Container 和 ...
摘要:千呼万唤始出来,今日中午点,主网已正式开启公测。锁定天,并参与投票的用户,将额外获赠。为鼓励社区广泛参与,此次参与活动的锁仓收益不受锁仓金额锁仓次数影响。因个人遗失造成的损失,不承担任何相关责任。 showImg(https://segmentfault.com/img/bVbkS1n?w=900&h=340);千呼万唤始出来,今日中午12点,ETM主网已正式开启公测。为感谢大家一路以...
摘要:本期内容是结合在的持续部署流程,实现从代码至到部署应用至中全自动的持续部署。编写自己的命令如果有困难,可以加群申请源代码示例也可以等近期即将发布的,这样更香。千呼万唤始出来,Cube完结篇来了!今天的内容,是持续部署至Cube掌握前3期教程内容搭配第四期使用,你就是全场最靓的仔!朋友们,来咯!上一期我们用云游戏的演示网站介绍了Java应用如何做成镜像部署至Cube。本期内容是结合Cube A...
阅读 3301·2021-11-24 09:38
阅读 3146·2021-11-22 09:34
阅读 2063·2021-09-22 16:03
阅读 2304·2019-08-29 18:37
阅读 336·2019-08-29 16:15
阅读 1729·2019-08-26 13:56
阅读 816·2019-08-26 12:21
阅读 2154·2019-08-26 12:15