opencv3和4的区别(python)

记录一下opencv4和3 的区别,防止在升级opencv时遇到问题。有其它大的变化也请读者指出,谢谢。

1.在扩展模块中去掉了SIFT与SURF相关API的调用文件
现在如果想在OpenCV Python 4.x中想使用SIFT与SURF只有靠自己从源代码CMake来编译生成python版本的安装包才可以。

2.全部取消CV_XXX这种枚举类型,比如在3.x中可以正常使用的语句

# OpenCV 3.x中
namedWindow(“input”, cv.CV_WINDOW_AUTOSIZE)

# OpenCV4.x
namedWindow(“input”, cv.WINDOW_AUTOSIZE)

3.findContours函数返回结果由3.x的三个参数变为两个参数

# 在OpenCV3.x中轮廓发现API返回三个值分别为
# image 返回的图像
# contours 每个轮廓的点集合
# hierarchy 每个轮廓对应的层次信息
binary, contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)

OpenCV4.0中需要改为

contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)

4.增加了python语言版本的对DNN模块的加持!
支持图像分类、对象检测(SSD、RCNN、Faster-RCNN、mask-RCNN)、图像分割等网络的使用

 

你可能感兴趣的:(opencv)