OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
附加图像处理算法

详细描述

类  cv::xphoto::GrayworldWB
 灰度世界白平衡算法。更多...
 
类  cv::xphoto::LearningBasedWB
 更复杂的基于学习的自动白平衡算法。更多...
 
类  cv::xphoto::SimpleWB
 一种简单的白平衡算法,通过独立拉伸输入图像的每个通道到指定范围来工作。为了增加鲁棒性,它忽略了像素值的顶部和底部 \(p\%\)。更多...
 
类  cv::xphoto::TonemapDurand
 该算法使用双边滤波器将图像分解为两层:基础层和细节层,并压缩基础层的对比度,从而保留所有细节。更多...
 
类  cv::xphoto::WhiteBalancer
 自动白平衡算法的基类。更多...
 

枚举

枚举  cv::xphoto::Bm3dSteps {
  cv::xphoto::BM3D_STEPALL = 0 ,
  cv::xphoto::BM3D_STEP1 = 1 ,
  cv::xphoto::BM3D_STEP2 = 2
}
 BM3D算法步骤。更多...
 
枚举  cv::xphoto::InpaintTypes {
  cv::xphoto::INPAINT_SHIFTMAP = 0 ,
  cv::xphoto::INPAINT_FSR_BEST = 1 ,
  cv::xphoto::INPAINT_FSR_FAST = 2
}
 各种图像修复算法。更多...
 
枚举  cv::xphoto::TransformTypes { cv::xphoto::HAAR = 0 }
 BM3D变换类型。更多...
 

函数

void cv::xphoto::applyChannelGains (InputArray src, OutputArray dst, float gainB, float gainG, float gainR)
 实现了一种高效的定点近似算法,用于应用通道增益,这是多种白平衡算法的最后一步。
 
void cv::xphoto::bm3dDenoising (InputArray src, InputOutputArray dstStep1, OutputArray dstStep2, float h=1, int templateWindowSize=4, int searchWindowSize=16, int blockMatchingStep1=2500, int blockMatchingStep2=400, int groupSize=8, int slidingStep=1, float beta=2.0f, int normType=cv::NORM_L2, int step=cv::xphoto::BM3D_STEPALL, int transformType=cv::xphoto::HAAR)
 使用块匹配和三维滤波算法 http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf 执行图像去噪,并带有多项计算优化。预期噪声为高斯白噪声。
 
void cv::xphoto::bm3dDenoising (InputArray src, OutputArray dst, float h=1, int templateWindowSize=4, int searchWindowSize=16, int blockMatchingStep1=2500, int blockMatchingStep2=400, int groupSize=8, int slidingStep=1, float beta=2.0f, int normType=cv::NORM_L2, int step=cv::xphoto::BM3D_STEPALL, int transformType=cv::xphoto::HAAR)
 使用块匹配和三维滤波算法 http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf 执行图像去噪,并带有多项计算优化。预期噪声为高斯白噪声。
 
Ptr< GrayworldWBcv::xphoto::createGrayworldWB ()
 创建 GrayworldWB 的实例。
 
Ptr< LearningBasedWBcv::xphoto::createLearningBasedWB (const String &path_to_model=String())
 创建 LearningBasedWB 的实例。
 
Ptr< SimpleWBcv::xphoto::createSimpleWB ()
 创建 SimpleWB 的实例。
 
Ptr< TonemapDurandcv::xphoto::createTonemapDurand (float gamma=1.0f, float contrast=4.0f, float saturation=1.0f, float sigma_color=2.0f, float sigma_space=2.0f)
 创建 TonemapDurand 对象。
 
void cv::xphoto::dctDenoising (const Mat &src, Mat &dst, const double sigma, const int psize=16)
 此函数实现了简单的基于DCT的去噪。
 
virtual float cv::xphoto::TonemapDurand::getContrast () const =0
 
virtual float cv::xphoto::TonemapDurand::getSaturation () const =0
 
virtual float cv::xphoto::TonemapDurand::getSigmaColor () const =0
 
virtual float cv::xphoto::TonemapDurand::getSigmaSpace () const =0
 
void cv::xphoto::inpaint (const Mat &src, const Mat &mask, Mat &dst, const int algorithmType)
 此函数实现了不同的单幅图像修复算法。
 
void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio)
 油画效果。详情请参阅书籍 [47]
 
void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio, int code)
 油画效果。详情请参阅书籍 [47]
 
virtual void cv::xphoto::TonemapDurand::setContrast (float contrast)=0
 
virtual void cv::xphoto::TonemapDurand::setSaturation (float saturation)=0
 
virtual void cv::xphoto::TonemapDurand::setSigmaColor (float sigma_color)=0
 
virtual void cv::xphoto::TonemapDurand::setSigmaSpace (float sigma_space)=0
 

枚举类型文档

◆ Bm3dSteps

#include <opencv2/xphoto/bm3d_image_denoising.hpp>

BM3D算法步骤。

枚举器
BM3D_STEPALL 
Python: cv.xphoto.BM3D_STEPALL

执行算法的所有步骤

BM3D_STEP1 
Python: cv.xphoto.BM3D_STEP1

只执行算法的第一步

BM3D_STEP2 
Python: cv.xphoto.BM3D_STEP2

只执行算法的第二步

◆ InpaintTypes

#include <opencv2/xphoto/inpainting.hpp>

各种图像修复算法。

另请参见
inpaint
枚举器
INPAINT_SHIFTMAP 
Python: cv.xphoto.INPAINT_SHIFTMAP

该算法寻找图像块的主要对应关系(变换),并尝试使用这些变换无缝地填充待修复区域

INPAINT_FSR_BEST 
Python: cv.xphoto.INPAINT_FSR_BEST

执行频率选择性重建(FSR)。可以根据重建可用时间选择 BEST 或 FAST 两种质量配置文件之一。详情请参阅 [105][240]

该算法可应用于以下领域

  1. 错误隐藏(图像修复)。采样掩码指示要重建的失真输入图像的缺失像素。
  2. 非规则采样。有关如何选择良好采样掩码的更多信息,请查阅 [114][113]

接受1通道灰度图像或3通道BGR图像。

常规接受范围

  • CV_8U 的范围是 0-255
  • CV_16U 的范围是 0-65535
  • CV_32F/CV_64F 的范围是 0-1。
INPAINT_FSR_FAST 
Python: cv.xphoto.INPAINT_FSR_FAST

请参阅 INPAINT_FSR_BEST

◆ TransformTypes

#include <opencv2/xphoto/bm3d_image_denoising.hpp>

BM3D变换类型。

枚举器
HAAR 
Python: cv.xphoto.HAAR

非归一化哈尔变换

函数文档

◆ applyChannelGains()

void cv::xphoto::applyChannelGains ( InputArray src,
OutputArray dst,
float gainB,
float gainG,
float gainR )
Python
cv.xphoto.applyChannelGains(src, gainB, gainG, gainR[, dst]) -> dst

#include <opencv2/xphoto/white_balance.hpp>

实现了一种高效的定点近似算法,用于应用通道增益,这是多种白平衡算法的最后一步。

参数
srcBGR颜色空间中的输入三通道图像(CV_8UC3 或 CV_16UC3)
dst与 src 相同大小和类型的输出图像。
gainBB通道的增益
gainGG通道的增益
gainRR通道的增益

◆ bm3dDenoising() [1/2]

void cv::xphoto::bm3dDenoising ( InputArray src,
InputOutputArray dstStep1,
OutputArray dstStep2,
float h = 1,
int templateWindowSize = 4,
int searchWindowSize = 16,
int blockMatchingStep1 = 2500,
int blockMatchingStep2 = 400,
int groupSize = 8,
int slidingStep = 1,
float beta = 2.0f,
int normType = cv::NORM_L2,
int step = cv::xphoto::BM3D_STEPALL,
int transformType = cv::xphoto::HAAR )
Python
cv.xphoto.bm3dDenoising(src, dstStep1[, dstStep2[, h[, templateWindowSize[, searchWindowSize[, blockMatchingStep1[, blockMatchingStep2[, groupSize[, slidingStep[, beta[, normType[, step[, transformType]]]]]]]]]]]]) -> dstStep1, dstStep2
cv.xphoto.bm3dDenoising(src[, dst[, h[, templateWindowSize[, searchWindowSize[, blockMatchingStep1[, blockMatchingStep2[, groupSize[, slidingStep[, beta[, normType[, step[, transformType]]]]]]]]]]]]) -> dst

#include <opencv2/xphoto/bm3d_image_denoising.hpp>

使用块匹配和三维滤波算法 http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf 执行图像去噪,并带有多项计算优化。预期噪声为高斯白噪声。

参数
src输入8位或16位单通道图像。
dstStep1BM3D第一步的输出图像,与 src 具有相同的大小和类型。
dstStep2BM3D第二步的输出图像,与 src 具有相同的大小和类型。
h调节滤波器强度的参数。较大的 h 值可以完美地去除噪声,但也会去除图像细节;较小的 h 值可以保留细节,但也会保留一些噪声。
templateWindowSize用于块匹配的模板块的像素大小。应为2的幂。
searchWindowSize用于执行块匹配的窗口的像素大小。线性影响性能:更大的 searchWindowsSize 意味着更长的去噪时间。必须大于 templateWindowSize。
blockMatchingStep1BM3D第一步(硬阈值)的块匹配阈值,即两个块被视为相似的最大距离。值以欧几里得距离表示。
blockMatchingStep2BM3D第二步(维纳滤波)的块匹配阈值,即两个块被视为相似的最大距离。值以欧几里得距离表示。
groupSize协同滤波的3D组的最大大小。
slidingStep处理每个下一个参考块的滑动步长。
betaKaiser窗参数,影响窗口变换的旁瓣衰减。Kaiser窗用于减少边界效应。若要阻止使用该窗口,请将 beta 设置为零。
normType用于计算块之间距离的范数。L2 比 L1 慢,但结果更准确。
step要执行的BM3D步骤。可能的变体有:步骤1、步骤2、两个步骤。
transformType协同滤波步骤中使用的正交变换类型。目前仅支持哈尔变换。

此函数预期应用于灰度图像。此函数的进阶用法可以是手动对不同颜色空间中的彩色图像进行去噪。

另请参见
fastNlMeansDenoising

◆ bm3dDenoising() [2/2]

void cv::xphoto::bm3dDenoising ( InputArray src,
OutputArray dst,
float h = 1,
int templateWindowSize = 4,
int searchWindowSize = 16,
int blockMatchingStep1 = 2500,
int blockMatchingStep2 = 400,
int groupSize = 8,
int slidingStep = 1,
float beta = 2.0f,
int normType = cv::NORM_L2,
int step = cv::xphoto::BM3D_STEPALL,
int transformType = cv::xphoto::HAAR )
Python
cv.xphoto.bm3dDenoising(src, dstStep1[, dstStep2[, h[, templateWindowSize[, searchWindowSize[, blockMatchingStep1[, blockMatchingStep2[, groupSize[, slidingStep[, beta[, normType[, step[, transformType]]]]]]]]]]]]) -> dstStep1, dstStep2
cv.xphoto.bm3dDenoising(src[, dst[, h[, templateWindowSize[, searchWindowSize[, blockMatchingStep1[, blockMatchingStep2[, groupSize[, slidingStep[, beta[, normType[, step[, transformType]]]]]]]]]]]]) -> dst

#include <opencv2/xphoto/bm3d_image_denoising.hpp>

使用块匹配和三维滤波算法 http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf 执行图像去噪,并带有多项计算优化。预期噪声为高斯白噪声。

参数
src输入8位或16位单通道图像。
dst与 src 具有相同大小和类型的输出图像。
h调节滤波器强度的参数。较大的 h 值可以完美地去除噪声,但也会去除图像细节;较小的 h 值可以保留细节,但也会保留一些噪声。
templateWindowSize用于块匹配的模板块的像素大小。应为2的幂。
searchWindowSize用于执行块匹配的窗口的像素大小。线性影响性能:更大的 searchWindowsSize 意味着更长的去噪时间。必须大于 templateWindowSize。
blockMatchingStep1BM3D第一步(硬阈值)的块匹配阈值,即两个块被视为相似的最大距离。值以欧几里得距离表示。
blockMatchingStep2BM3D第二步(维纳滤波)的块匹配阈值,即两个块被视为相似的最大距离。值以欧几里得距离表示。
groupSize协同滤波的3D组的最大大小。
slidingStep处理每个下一个参考块的滑动步长。
betaKaiser窗参数,影响窗口变换的旁瓣衰减。Kaiser窗用于减少边界效应。若要阻止使用该窗口,请将 beta 设置为零。
normType用于计算块之间距离的范数。L2 比 L1 慢,但结果更准确。
step要执行的BM3D步骤。只允许 BM3D_STEP1 和 BM3D_STEPALL。不允许 BM3D_STEP2,因为它需要存在基本估计。
transformType协同滤波步骤中使用的正交变换类型。目前仅支持哈尔变换。

此函数预期应用于灰度图像。此函数的进阶用法可以是手动对不同颜色空间中的彩色图像进行去噪。

另请参见
fastNlMeansDenoising

◆ createGrayworldWB()

Ptr< GrayworldWB > cv::xphoto::createGrayworldWB ( )
Python
cv.xphoto.createGrayworldWB() -> retval

#include <opencv2/xphoto/white_balance.hpp>

创建 GrayworldWB 的实例。

◆ createLearningBasedWB()

Ptr< LearningBasedWB > cv::xphoto::createLearningBasedWB ( const String & path_to_model = String())
Python
cv.xphoto.createLearningBasedWB([, path_to_model]) -> retval

#include <opencv2/xphoto/white_balance.hpp>

创建 LearningBasedWB 的实例。

参数
path_to_model模型 .yml 文件的路径。如果未指定,则使用默认模型。

◆ createSimpleWB()

Ptr< SimpleWB > cv::xphoto::createSimpleWB ( )
Python
cv.xphoto.createSimpleWB() -> retval

#include <opencv2/xphoto/white_balance.hpp>

创建 SimpleWB 的实例。

◆ createTonemapDurand()

Ptr< TonemapDurand > cv::xphoto::createTonemapDurand ( float gamma = 1.0f,
float contrast = 4.0f,
float saturation = 1.0f,
float sigma_color = 2.0f,
float sigma_space = 2.0f )
Python
cv.xphoto.createTonemapDurand([, gamma[, contrast[, saturation[, sigma_color[, sigma_space]]]]]) -> retval

#include <opencv2/xphoto/tonemap.hpp>

创建 TonemapDurand 对象。

您需要在cmake中设置 OPENCV_ENABLE_NONFREE 选项才能使用这些。使用风险自负。

参数
gamma伽马校正的伽马值。请参阅 createTonemap
contrast对数刻度上的最终对比度,即 log(max / min),其中 max 和 min 是结果图像的最大和最小亮度值。
saturation饱和度增强值。请参阅 createTonemapDrago
sigma_color颜色空间中的双边滤波器sigma值
sigma_space坐标空间中的双边滤波器sigma值

◆ dctDenoising()

void cv::xphoto::dctDenoising ( const Mat & src,
Mat & dst,
const double sigma,
const int psize = 16 )
Python
cv.xphoto.dctDenoising(src, dst, sigma[, psize]) ->

#include <opencv2/xphoto/dct_image_denoising.hpp>

此函数实现了简单的基于DCT的去噪。

http://www.ipol.im/pub/art/2011/ys-dct/.

参数
src源图像
dst目标图像
sigma预期噪声标准差
psize计算DCT的块边长大小
另请参见
fastNlMeansDenoising

◆ getContrast()

virtual float cv::xphoto::TonemapDurand::getContrast ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getContrast() -> retval

◆ getSaturation()

virtual float cv::xphoto::TonemapDurand::getSaturation ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getSaturation() -> retval

◆ getSigmaColor()

virtual float cv::xphoto::TonemapDurand::getSigmaColor ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getSigmaColor() -> retval

◆ getSigmaSpace()

virtual float cv::xphoto::TonemapDurand::getSigmaSpace ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getSigmaSpace() -> retval

◆ inpaint()

void cv::xphoto::inpaint ( const Mat & src,
const Mat & mask,
Mat & dst,
const int algorithmType )
Python
cv.xphoto.inpaint(src, mask, dst, algorithmType) ->

#include <opencv2/xphoto/inpainting.hpp>

此函数实现了不同的单幅图像修复算法。

详情请参阅原始论文 [121] (Shiftmap) 或 [105][240] (FSR)。

参数
src源图像
  • INPAINT_SHIFTMAP:可以是任何类型,通道数从1到4。对于3通道和4通道图像,函数期望它们在CIELab颜色空间或类似的颜色空间中,其中第一个颜色分量表示强度,而第二个和第三个表示颜色。尽管如此,您仍然可以尝试任何颜色空间。
  • INPAINT_FSR_BEST 或 INPAINT_FSR_FAST:1通道灰度图像或3通道BGR图像。
mask掩码 (CV_8UC1),其中非零像素表示有效图像区域,而零像素表示待修复区域。
dst目标图像
algorithmType请参阅 xphoto::InpaintTypes

◆ oilPainting() [1/2]

void cv::xphoto::oilPainting ( InputArray src,
OutputArray dst,
int size,
int dynRatio )
Python
cv.xphoto.oilPainting(src, size, dynRatio, code[, dst]) -> dst
cv.xphoto.oilPainting(src, size, dynRatio[, dst]) -> dst

#include <opencv2/xphoto/oilpainting.hpp>

油画效果。详情请参阅书籍 [47]

参数
src输入三通道或单通道图像(CV_8UC3 或 CV_8UC1)
dst与 src 相同大小和类型的输出图像。
size邻域大小为 2-size+1
dynRatio在直方图处理之前,图像会除以 dynRatio

◆ oilPainting() [2/2]

void cv::xphoto::oilPainting ( InputArray src,
OutputArray dst,
int size,
int dynRatio,
int code )
Python
cv.xphoto.oilPainting(src, size, dynRatio, code[, dst]) -> dst
cv.xphoto.oilPainting(src, size, dynRatio[, dst]) -> dst

#include <opencv2/xphoto/oilpainting.hpp>

油画效果。详情请参阅书籍 [47]

参数
src输入三通道或单通道图像(CV_8UC3 或 CV_8UC1)
dst与 src 相同大小和类型的输出图像。
size邻域大小为 2-size+1
dynRatio在直方图处理之前,图像会除以 dynRatio
code颜色空间转换代码(请参阅 ColorConversionCodes)。直方图将仅使用第一个平面。

◆ setContrast()

virtual void cv::xphoto::TonemapDurand::setContrast ( float contrast)
纯虚函数
Python
cv.xphoto.TonemapDurand.setContrast(contrast) ->

◆ setSaturation()

virtual void cv::xphoto::TonemapDurand::setSaturation ( float saturation)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSaturation(saturation) ->

◆ setSigmaColor()

virtual void cv::xphoto::TonemapDurand::setSigmaColor ( float sigma_color)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSigmaColor(sigma_color) ->

◆ setSigmaSpace()

virtual void cv::xphoto::TonemapDurand::setSigmaSpace ( float sigma_space)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSigmaSpace(sigma_space) ->