OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
附加照片处理算法

详细说明

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

枚举

enum  cv::xphoto::Bm3dSteps {
  cv::xphoto::BM3D_STEPALL = 0 ,
  cv::xphoto::BM3D_STEP1 = 1 ,
  cv::xphoto::BM3D_STEP2 = 2
}
 BM3D 算法步骤。更多...
 
enum  cv::xphoto::InpaintTypes {
  cv::xphoto::INPAINT_SHIFTMAP = 0 ,
  cv::xphoto::INPAINT_FSR_BEST = 1 ,
  cv::xphoto::INPAINT_FSR_FAST = 2
}
 各种图像修复算法。更多...
 
enum  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)
 油画效果 详细信息请参见书籍 [48]
 
void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio, int code)
 油画效果 详细信息请参见书籍 [48]
 
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
 

枚举类型文档 (Enumeration Type Documentation)

◆ Bm3dSteps

#include <opencv2/xphoto/bm3d_image_denoising.hpp>

BM3D 算法步骤。

枚举值 (Enumerator)
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
枚举值 (Enumerator)
INPAINT_SHIFTMAP 
Python: cv.xphoto.INPAINT_SHIFTMAP

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

INPAINT_FSR_BEST 
Python: cv.xphoto.INPAINT_FSR_BEST

执行频率选择性重建 (FSR)。可以选择 BEST 和 FAST 两种质量配置文件之一,具体取决于重建可用时间。有关详细信息,请参见 [106][243]

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

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

接受 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 变换类型。

枚举值 (Enumerator)
HAAR 
Python: cv.xphoto.HAAR

未归一化的 Haar 变换

函数文档 (Function Documentation)

◆ 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 位 1 通道图像。
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 ( 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 位 1 通道图像。
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()

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
对比度对数刻度上的结果对比度,即 log(max / min),其中 max 和 min 是结果图像的最大和最小亮度值。
饱和度饱和度增强值。参见 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]) -> None

#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) -> None

#include <opencv2/xphoto/inpainting.hpp>

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

有关详细信息,请参见原始论文 [122] (Shiftmap) 或 [106][243] (FSR)。

参数
src源图像
  • INPAINT_SHIFTMAP:它可以是任何类型,通道数从 1 到 4。对于 3 通道和 4 通道图像,函数期望它们在 CIELab 颜色空间或类似的颜色空间中,其中第一个颜色分量显示强度,而第二个和第三个显示颜色。尽管如此,您可以尝试任何颜色空间。
  • INPAINT_FSR_BESTINPAINT_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>

油画效果 详细信息请参见书籍 [48]

参数
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>

油画效果 详细信息请参见书籍 [48]

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

◆ setContrast()

virtual void cv::xphoto::TonemapDurand::setContrast ( float 对比度)
纯虚函数
Python
cv.xphoto.TonemapDurand.setContrast(对比度) -> None

◆ setSaturation()

virtual void cv::xphoto::TonemapDurand::setSaturation ( float 饱和度)
纯虚函数
Python
cv.xphoto.TonemapDurand.setSaturation(饱和度) -> None

◆ setSigmaColor()

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

◆ setSigmaSpace()

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