如何调用Open CV Durand Tonemap函数?

2024-09-30 16:20:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用Python检查OpenCV中的多个色调映射操作符

各种来源使用四个操作符(Drago、Durand、Reinhard、Mantiuk)。其中三个在工作。但是,当我调用cv2.createTonemapDurand()时,我得到以下错误:

AttributeError: module 'cv2.cv2' has no attribute 'createTonemapDurand'

有没有可能以某种方式呼叫Durand操作员,或者OpenCV最近删除了该操作员

谢谢


Tags: no错误来源色调cv2opencvattributeerrorhas
2条回答

请在导入cv2的地方发布代码并调用函数。如果要查找某些函数、属性或其他内容,请查看包的文档或使用dir()和type()。对于您的示例,您可以使用以下内容:

import cv2
from re import match

cv2_filtered = filter(lambda v: match('.*Tonemap', v), dir(cv2))
[print(val) for val in cv2_filtered]

返回:

Tonemap
TonemapDrago
TonemapMantiuk
TonemapReinhard
createTonemap
createTonemapDrago
createTonemapMantiuk
createTonemapReinhard

cv2中似乎没有createTonemapDurand函数

我将从评论切换到回答,以获得更好的表达

你只需要:

import cv2

cv2.xphoto.createTonemapDurand()

请注意,如果您自己编译opencv,则必须检查opencv_ENABLE_NONFREE

相关问题 更多 >