簡體   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