OpenCV 4.11.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)
 oilPainting 详情请参阅书籍[46]
 
void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio, int code)
 oilPainting 详情请参阅书籍[46]
 
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 之一。详情请参见 [103][237]

该算法可用于以下应用领域:

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

接受单通道灰度图像或三通道 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

非归一化 Haar 变换

函数文档

◆ applyChannelGains()

void cv::xphoto::applyChannelGains ( 输入数组 src,
输出数组 dst,
浮点数 gainB,
浮点数 gainG,
浮点数 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 ( 输入数组 src,
输入输出数组 dstStep1,
输出数组 dstStep2,
浮点数 h = 1,
整数 templateWindowSize = 4,
整数 searchWindowSize = 16,
整数 blockMatchingStep1 = 2500,
整数 blockMatchingStep2 = 400,
整数 groupSize = 8,
整数 slidingStep = 1,
浮点数 beta = 2.0f,
整数 normType = cv::NORM_L2,
整数 step = cv::xphoto::BM3D_STEPALL,
整数 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处理每个下一个参考块的滑动步长。
beta影响窗口变换旁瓣衰减的 Kaiser 窗口参数。为了减少边界效应,使用 Kaiser 窗口。要防止使用窗口,请将 beta 设置为零。
normType用于计算块之间距离的范数。L2L1 慢,但产生更准确的结果。
step要执行的 BM3D 步骤。可能的变体是:步骤 1、步骤 2、两个步骤。
transformType在协同滤波步骤中使用的正交变换的类型。目前仅支持 Haar 变换。

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

另请参见
fastNlMeansDenoising

◆ bm3dDenoising() [2/2]

void cv::xphoto::bm3dDenoising ( 输入数组 src,
输出数组 dst,
浮点数 h = 1,
整数 templateWindowSize = 4,
整数 searchWindowSize = 16,
整数 blockMatchingStep1 = 2500,
整数 blockMatchingStep2 = 400,
整数 groupSize = 8,
整数 slidingStep = 1,
浮点数 beta = 2.0f,
整数 normType = cv::NORM_L2,
整数 step = cv::xphoto::BM3D_STEPALL,
整数 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处理每个下一个参考块的滑动步长。
beta影响窗口变换旁瓣衰减的 Kaiser 窗口参数。为了减少边界效应,使用 Kaiser 窗口。要防止使用窗口,请将 beta 设置为零。
normType用于计算块之间距离的范数。L2L1 慢,但产生更准确的结果。
step要执行的 BM3D 步骤。仅允许 BM3D_STEP1 和 BM3D_STEPALL。不允许使用 BM3D_STEP2,因为它需要存在基本估计。
transformType在协同滤波步骤中使用的正交变换的类型。目前仅支持 Haar 变换。

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

另请参见
fastNlMeansDenoising

◆ createGrayworldWB()

cv::xphoto::createGrayworldWB 返回 Ptr< GrayworldWB > ( )
Python
cv.xphoto.createGrayworldWB()) -> 返回值

#include <opencv2/xphoto/white_balance.hpp>

创建一个GrayworldWB实例。

◆ createLearningBasedWB()

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

#include <opencv2/xphoto/white_balance.hpp>

创建一个LearningBasedWB实例。

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

◆ createSimpleWB()

cv::xphoto::createSimpleWB 返回 Ptr< SimpleWB > ( )
Python
cv.xphoto.createSimpleWB()) -> 返回值

#include <opencv2/xphoto/white_balance.hpp>

创建一个SimpleWB实例。

◆ createTonemapDurand()

cv::xphoto::createTonemapDurand 返回 Ptr< TonemapDurand > ( 浮点数 gamma = 1.0f,
浮点数 contrast = 4.0f,
浮点数 saturation = 1.0f,
浮点数 sigma_color = 2.0f,
浮点数 sigma_space = 2.0f )
Python
cv.xphoto.createTonemapDurand([, gamma[, contrast[, saturation[, sigma_color[, sigma_space]]]]]) -> 返回值

#include <opencv2/xphoto/tonemap.hpp>

创建TonemapDurand对象。

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

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

◆ dctDenoising()

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()

cv::xphoto::TonemapDurand::getContrast 返回 float ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getContrast()) -> 返回值

◆ getSaturation()

cv::xphoto::TonemapDurand::getSaturation 返回 float ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getSaturation()) -> 返回值

◆ getSigmaColor()

cv::xphoto::TonemapDurand::getSigmaColor 返回 float ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getSigmaColor()) -> 返回值

◆ getSigmaSpace()

cv::xphoto::TonemapDurand::getSigmaSpace 返回 float ( ) const
纯虚函数
Python
cv.xphoto.TonemapDurand.getSigmaSpace()) -> 返回值

◆ inpaint()

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>

该函数实现不同的单图像修复算法。

详情请参见原始论文 [118] (Shiftmap) 或 [103][237] (FSR)。

参数
src源图像
  • INPAINT_SHIFTMAP:它可以是任何类型和任何数量的通道(1到4)。对于 3 通道和 4 通道图像,函数期望它们在 CIELab 颜色空间或类似空间中,其中第一个颜色分量显示强度,而第二个和第三个显示颜色。尽管如此,你也可以尝试任何颜色空间。
  • INPAINT_FSR_BESTINPAINT_FSR_FAST:1 通道灰度或 3 通道 BGR 图像。
maskmask (CV_8UC1),其中非零像素表示有效图像区域,而零像素表示需要进行修复的区域。
dst目标图像
algorithmType参见 xphoto::InpaintTypes

◆ oilPainting() [1/2]

cv::xphoto::oilPainting ( 输入数组 src,
输出数组 dst,
整数 size,
整数 dynRatio )
Python
cv.xphoto.oilPainting(src, size, dynRatio, code[, dst]) -> dst
cv.xphoto.oilPainting(src, size, dynRatio[, dst]) -> dst

#include <opencv2/xphoto/oilpainting.hpp>

oilPainting 详情请参阅书籍[46]

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

◆ oilPainting() [2/2]

cv::xphoto::oilPainting ( 输入数组 src,
输出数组 dst,
整数 size,
整数 dynRatio,
整数 code )
Python
cv.xphoto.oilPainting(src, size, dynRatio, code[, dst]) -> dst
cv.xphoto.oilPainting(src, size, dynRatio[, dst]) -> dst

#include <opencv2/xphoto/oilpainting.hpp>

oilPainting 详情请参阅书籍[46]

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

◆ setContrast()

cv::xphoto::TonemapDurand::setContrast ( 浮点数 contrast)
纯虚函数
Python
cv.xphoto.TonemapDurand.setContrast(contrast) -> 无返回值

◆ setSaturation()

cv::xphoto::TonemapDurand::setSaturation ( 浮点数 saturation)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSaturation(saturation) -> 无返回值

◆ setSigmaColor()

cv::xphoto::TonemapDurand::setSigmaColor ( 浮点数 sigma_color)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSigmaColor(sigma_color) -> 无返回值

◆ setSigmaSpace()

cv::xphoto::TonemapDurand::setSigmaSpace ( 浮点数 sigma_space)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSigmaSpace(sigma_space) -> 无返回值