繁体   English   中英

如何使用 cv2 python API 使用 opencv reduce

[英]How to use opencv reduce using cv2 python API

我检查了文档,但它不完整:没有提到rtype参数实际上是什么。

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

我发现可以在以下包中找到适当的变量

cv2.cv

如果在uint8图像上使用 CV_REDUCE_SUM 运算符,则必须显式提供更大范围的 dtype 参数以避免溢出(例如

slice = cv2.reduce(image, 1, cv2.cv.CV_REDUCE_SUM, dtype=numpy.int32)

如果您使用 CV_REDUCE_AVG 操作,结果不会溢出,这就是为什么设置 dtype 是可选的。

当前新的 cv2 库中有一些遗漏。 通常这些是尚未迁移到 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]

如果您在使用 Open CV 3.x 或更高版本时发现此问题,这些常量已重命名为cv2.REDUCE_SUMcv2.REDUCE_AVGcv2.REDUCE_MAXcv2.REDUCE_MIN

一个工作reduce函数的例子:

reducedArray = cv2.reduce(im, 0, cv2.REDUCE_MAX)

文档的 GitHub 问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM