python: prefer cv::Mat over cv::UMat in python binding

This commit is contained in:
Kumataro 2024-07-21 10:00:29 +09:00
parent 23b244d3a3
commit db3654ef51

View File

@ -854,7 +854,22 @@ class FuncInfo(object):
all_code_variants = []
# See https://github.com/opencv/opencv/issues/25928
# Conversion to UMat is expensive more than conversion to Mat.
# To reduce this cost, conversion to Mat is prefer than to UMat.
variants = []
variants_umat = []
for v in self.variants:
hasUMat = False
for a in v.args:
hasUMat = hasUMat or "UMat" in a.tp
if hasUMat :
variants_umat.append(v)
else:
variants.append(v)
variants.extend(variants_umat)
for v in variants:
code_decl = ""
code_ret = ""
code_cvt_list = []