如何使用cv2 python API使用opencv reduce

时间:2011-11-30 15:25:37

标签: python opencv

我检查了the documentation但是它不完整:没有提到rtype参数究竟是什么。

我认为它是一种减少类型,但我找不到任何变量,如cv2.CV_REDUCE_SUM等...我发现许多函数使用不同的变量名称存在这个问题。在cv2 API中找到专有名称的最佳方法是什么?

3 个答案:

答案 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)

GitHub issue for documentation