我检查了the documentation但是它不完整:没有提到rtype
参数究竟是什么。
我认为它是一种减少类型,但我找不到任何变量,如cv2.CV_REDUCE_SUM
等...我发现许多函数使用不同的变量名称存在这个问题。在cv2 API中找到专有名称的最佳方法是什么?
答案 0 :(得分:5)
我发现适当的变量可以在以下包中找到
cv2.cv
如果在 uint8 图像上使用CV_REDUCE_SUM运算符,则必须明确提供更大范围的dtype参数以避免溢出(例如
slice = cv2.reduce(image, 1, cv2.cv.CV_REDUCE_SUM, dtype=numpy.int32)
如果使用CV_REDUCE_AVG操作,结果不会溢出,这就是为什么设置dtype是可选的。
答案 1 :(得分:4)
当前新的cv2 lib中有一些缺点。通常这些是尚未迁移到cv2但仍仅在cv中的常量。这里有一些代码可以帮助您找到它们:
import cv2
import cv2.cv as cv
nms = [(n.lower(), n) for n in dir(cv)] # list of everything in the cv module
nms2 = [(n.lower(), n) for n in dir(cv2)] # list of everything in the cv2 module
search = 'window'
print "in cv2\n ",[m[1] for m in nms2 if m[0].find(search.lower())>-1]
print "in cv\n ",[m[1] for m in nms if m[0].find(search.lower())>-1]
答案 2 :(得分:0)
如果在使用Open CV 3.x或更高版本时发现此问题,则这些常量已重命名为cv2.REDUCE_SUM,cv2.REDUCE_AVG,cv2.REDUCE_MAX和cv2.REDUCE_MIN。
工作归约功能的示例:
reducedArray = cv2.reduce(im, 0, cv2.REDUCE_MAX)