Determine which version of OpenCV
>>> from cv2 import __version__
>>> __version__
'$Rev: 4557 $'
If that doesn't work then, use cv
instead of cv2
.
Convenient functions to check OpenCV version in run-time
def cv2():
return opencv_version("2")
def cv3():
return opencv_version("3")
def cv4():
return opencv_version("4")
def opencv_version(version):
import cv2
return cv2.__version__.startswith(version)
Useful when performing cv2.findContours()
since return signature varies by version
# Using OpenCV 2.X or OpenCV 4
if cv2() or cv4():
cnts, _ = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# Using OpenCV 3
elif cv3():
_, cnts, _ = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
One line way can be like below:-