OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
追加の写真処理アルゴリズム

詳細説明

クラス

class  cv::xphoto::GrayworldWB
 グレーワールド・ホワイトバランスアルゴリズム。 詳細...
 
class  cv::xphoto::LearningBasedWB
 より高度な学習ベースの自動ホワイトバランスアルゴリズム。 詳細...
 
class  cv::xphoto::SimpleWB
 入力画像の各チャンネルを指定した範囲へ独立に引き伸ばすことで動作する単純なホワイトバランスアルゴリズム。ロバスト性を高めるため、ピクセル値の上位および下位 \(p\%\) を無視する。 詳細...
 
class  cv::xphoto::TonemapDurand
 このアルゴリズムは、バイラテラルフィルタを使って画像をベースレイヤと詳細レイヤの2つのレイヤに分解し、ベースレイヤのコントラストを圧縮することで、すべての詳細を保持する。 詳細...
 
class  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)
 ブロックマッチングと3次元フィルタリング(Block-Matching and 3D-filtering)アルゴリズム 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)
 ブロックマッチングと3次元フィルタリング(Block-Matching and 3D-filtering)アルゴリズム 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 詳細は書籍 [48] を参照のこと。
 
void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio, int code)
 oilPainting 詳細は書籍 [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
 

列挙型詳解

◆ Bm3dSteps

#include <opencv2/xphoto/bm3d_image_denoising.hpp>

BM3Dアルゴリズムのステップ。

列挙値
BM3D_STEPALL 
Python: cv.xphoto.BM3D_STEPALL

アルゴリズムのすべてのステップを実行する

BM3D_STEP1 
Python: cv.xphoto.BM3D_STEP1

アルゴリズムの第1ステップのみを実行する

BM3D_STEP2 
Python: cv.xphoto.BM3D_STEP2

アルゴリズムの第2ステップのみを実行する

◆ InpaintTypes

#include <opencv2/xphoto/inpainting.hpp>

各種の修復アルゴリズム。

参照
inpaint
列挙値
INPAINT_SHIFTMAP 
Python: cv.xphoto.INPAINT_SHIFTMAP

このアルゴリズムは画像パッチの支配的な対応関係(変換)を探索し、その変換を用いて修復対象の領域をシームレスに埋めることを試みる

INPAINT_FSR_BEST 
Python: cv.xphoto.INPAINT_FSR_BEST

周波数選択的再構成 (Frequency Selective Reconstruction, FSR) を実行する。再構成に使える時間に応じて、BESTとFASTの2つの品質プロファイルのいずれかを選択できる。詳細は [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の変換の種類。

列挙値
HAAR 
Python: cv.xphoto.HAAR

非正規化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色空間の3チャンネル入力画像 (CV_8UC3 または CV_16UC3)
dstsrc と同じサイズ・型の出力画像。
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>

ブロックマッチングと3Dフィルタリング (BM3D) アルゴリズム http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウスホワイトノイズであることを想定している。

引数
src8ビットまたは16ビットの1チャンネル入力画像。
dstStep1BM3Dの第1ステップの出力画像。src と同じサイズ・型。
dstStep2BM3Dの第2ステップの出力画像。src と同じサイズ・型。
hフィルタの強度を調整する引数。h を大きくするとノイズを完全に除去できるが画像の細部も失われ、h を小さくすると細部は保たれるが一部のノイズも残る。
templateWindowSizeブロックマッチングに用いるテンプレートパッチのサイズ(ピクセル単位)。2のべき乗である必要がある。
searchWindowSizeブロックマッチングを行うウィンドウのサイズ(ピクセル単位)。性能に線形に影響し、searchWindowsSize が大きいほどノイズ除去に時間がかかる。templateWindowSize より大きくする必要がある。
blockMatchingStep1BM3Dの第1ステップ(ハードしきい値処理)でのブロックマッチングのしきい値。すなわち、2つのブロックを類似とみなす最大距離。値はユークリッド距離で表す。
blockMatchingStep2BM3Dの第2ステップ(ウィーナーフィルタリング)でのブロックマッチングのしきい値。すなわち、2つのブロックを類似とみなす最大距離。値はユークリッド距離で表す。
groupSize協調フィルタリングにおける3Dグループの最大サイズ。
slidingStep次の参照ブロックを処理するためのスライドステップ。
betaウィンドウ変換のサイドローブ減衰に影響するKaiserウィンドウの引数。Kaiserウィンドウは境界の影響を軽減するために使用される。ウィンドウの使用を無効にするには beta を0に設定する。
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>

ブロックマッチングと3Dフィルタリング (BM3D) アルゴリズム http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウスホワイトノイズであることを想定している。

引数
src8ビットまたは16ビットの1チャンネル入力画像。
dstsrc と同じサイズ・型の出力画像。
hフィルタの強度を調整する引数。h を大きくするとノイズを完全に除去できるが画像の細部も失われ、h を小さくすると細部は保たれるが一部のノイズも残る。
templateWindowSizeブロックマッチングに用いるテンプレートパッチのサイズ(ピクセル単位)。2のべき乗である必要がある。
searchWindowSizeブロックマッチングを行うウィンドウのサイズ(ピクセル単位)。性能に線形に影響し、searchWindowsSize が大きいほどノイズ除去に時間がかかる。templateWindowSize より大きくする必要がある。
blockMatchingStep1BM3Dの第1ステップ(ハードしきい値処理)でのブロックマッチングのしきい値。すなわち、2つのブロックを類似とみなす最大距離。値はユークリッド距離で表す。
blockMatchingStep2BM3Dの第2ステップ(ウィーナーフィルタリング)でのブロックマッチングのしきい値。すなわち、2つのブロックを類似とみなす最大距離。値はユークリッド距離で表す。
groupSize協調フィルタリングにおける3Dグループの最大サイズ。
slidingStep次の参照ブロックを処理するためのスライドステップ。
betaウィンドウ変換のサイドローブ減衰に影響するKaiserウィンドウの引数。Kaiserウィンドウは境界の影響を軽減するために使用される。ウィンドウの使用を無効にするには beta を0に設定する。
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 を参照。
contrast対数スケールでの結果のコントラスト。すなわち log(max / min)。ここで max と min は結果画像の最大および最小の輝度値である。
saturation彩度強調値。createTonemapDrago を参照。
sigma_color色空間におけるバイラテラルフィルタのシグマ
sigma_space座標空間におけるバイラテラルフィルタのシグマ

◆ 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想定されるノイズの標準偏差
psizedctを計算するブロックの一辺のサイズ
参照
fastNlMeansDenoising

◆ getContrast()

virtual float cv::xphoto::TonemapDurand::getContrast ( ) const
pure virtual
Python:
cv.xphoto.TonemapDurand.getContrast() -> retval

◆ getSaturation()

virtual float cv::xphoto::TonemapDurand::getSaturation ( ) const
pure virtual
Python:
cv.xphoto.TonemapDurand.getSaturation() -> retval

◆ getSigmaColor()

virtual float cv::xphoto::TonemapDurand::getSigmaColor ( ) const
pure virtual
Python:
cv.xphoto.TonemapDurand.getSigmaColor() -> retval

◆ getSigmaSpace()

virtual float cv::xphoto::TonemapDurand::getSigmaSpace ( ) const
pure virtual
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チャンネルの画像の場合、本関数は最初の色成分が輝度を、2番目と3番目の成分が色を表すCIELabまたは類似の色空間であることを想定する。ただし、任意の色空間を試してもよい。
  • INPAINT_FSR_BEST または INPAINT_FSR_FAST: 1チャンネルのグレースケールまたは3チャンネルのBGR画像。
maskマスク (CV_8UC1)。非ゼロのピクセルは有効な画像領域を示し、ゼロのピクセルは修復対象の領域を示す
dst出力画像
algorithmTypexphoto::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>

oilPainting 詳細は書籍 [48] を参照。

引数
src3チャンネルまたは1チャンネルの入力画像 (CV_8UC3 または CV_8UC1)
dstsrc と同じサイズ・型の出力画像。
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>

oilPainting 詳細は書籍 [48] を参照。

引数
src3チャンネルまたは1チャンネルの入力画像 (CV_8UC3 または CV_8UC1)
dstsrc と同じサイズ・型の出力画像。
size近傍サイズは 2-size+1 である
dynRatioヒストグラム処理の前に画像を dynRatio で除算する
code色空間変換コード (ColorConversionCodes を参照)。ヒストグラムには最初のプレーンのみが使用される

◆ setContrast()

virtual void cv::xphoto::TonemapDurand::setContrast ( float contrast)
pure virtual
Python:
cv.xphoto.TonemapDurand.setContrast(contrast) -> None

◆ setSaturation()

virtual void cv::xphoto::TonemapDurand::setSaturation ( float saturation)
pure virtual
Python:
cv.xphoto.TonemapDurand.setSaturation(saturation) -> None

◆ setSigmaColor()

virtual void cv::xphoto::TonemapDurand::setSigmaColor ( float sigma_color)
pure virtual
Python:
cv.xphoto.TonemapDurand.setSigmaColor(sigma_color) -> None

◆ setSigmaSpace()

virtual void cv::xphoto::TonemapDurand::setSigmaSpace ( float sigma_space)
pure virtual
Python:
cv.xphoto.TonemapDurand.setSigmaSpace(sigma_space) -> None