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