OpenCV 4.5.3(日本語機械翻訳)
クラス | 列挙型 | 関数
Additional photo processing algorithms

クラス

class cv::xphoto::TonemapDurand
このアルゴリズムは、バイラテラル・フィルターを使って画像をベース・レイヤーとディテール・レイヤーの2つのレイヤーに分解し、ベース・レイヤーのコントラストを圧縮することで、すべてのディテールを保存します。[【詳解】(英語]
class cv::xphoto::WhiteBalancer
オートホワイトバランスアルゴリズムのベースとなるクラス。[【詳解】(英語]
class cv::xphoto::SimpleWB
シンプルなホワイトバランスアルゴリズムで、入力画像の各チャンネルを独立して指定された範囲に引き伸ばすことで動作します。堅牢性を高めるために、ピクセル値の上下を無視します。$p\%$画素値の上下を無視します。[【詳解】(英語]
class cv::xphoto::GrayworldWB
グレーワールド・ホワイトバランス・アルゴリズム[【詳解】(英語]
class cv::xphoto::LearningBasedWB
より洗練された学習ベースの自動ホワイトバランスアルゴリズム。[【詳解】(英語]

列挙型

enum cv::xphoto::TransformTypes { cv::xphoto::HAAR = 0 }
BM3Dトランスフォームタイプ[【詳解】(英語]
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 }
様々なインペインティング・アルゴリズム[【詳解】(英語]

関数

CV_EXPORTS_W 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)
Block-Matching and 3D-filtering アルゴリズムを用いて画像のノイズ除去を行うhttp://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf演算処理の最適化を行います。ノイズはガウスホワイトノイズと予想される。[【詳解】(英語]
CV_EXPORTS_W 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)
Block-Matching and 3D-filtering アルゴリズムを用いて画像のノイズ除去を行うhttp://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf演算処理の最適化を行います。ノイズはガウスホワイトノイズと予想される。[【詳解】(英語]
CV_EXPORTS_W void cv::xphoto::dctDenoising (const Mat &src, Mat &dst, const double sigma, const int psize=16)
この関数は、シンプルなdctベースのノイズ除去を実装しています。[【詳解】(英語]
CV_EXPORTS_W void cv::xphoto::inpaint (const Mat &src, const Mat &mask, Mat &dst, const int algorithmType)
この関数は,さまざまな単一画像のインペインティングアルゴリズムを実装しています.[【詳解】(英語]
CV_EXPORTS_W void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio, int code)
oilPainting 書籍を参照[Holzmann1988】を参照してください。]を参照してください。[【詳解】(英語]
CV_EXPORTS_W void cv::xphoto::oilPainting (InputArray src, OutputArray dst, int size, int dynRatio)
oilPainting 書籍を参照[Holzmann1988】を参照してください。]を参照してください。[【詳解】(英語]
virtual CV_WRAP float cv::xphoto::TonemapDurand::getSaturation () const =0
virtual CV_WRAP void cv::xphoto::TonemapDurand::setSaturation (float saturation)=0
virtual CV_WRAP float cv::xphoto::TonemapDurand::getContrast () const =0
virtual CV_WRAP void cv::xphoto::TonemapDurand::setContrast (float contrast)=0
virtual CV_WRAP float cv::xphoto::TonemapDurand::getSigmaSpace () const =0
virtual CV_WRAP void cv::xphoto::TonemapDurand::setSigmaSpace (float sigma_space)=0
virtual CV_WRAP float cv::xphoto::TonemapDurand::getSigmaColor () const =0
virtual CV_WRAP void cv::xphoto::TonemapDurand::setSigmaColor (float sigma_color)=0
CV_EXPORTS_W 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)
視差検索範囲を作成します。TonemapDurandオブジェクト[【詳解】(英語]
CV_EXPORTS_W Ptr< SimpleWB > cv::xphoto::createSimpleWB ()
のインスタンスを作成します.SimpleWB
CV_EXPORTS_W Ptr< GrayworldWB > cv::xphoto::createGrayworldWB ()
のインスタンスを作成します.GrayworldWB
CV_EXPORTS_W Ptr< LearningBasedWB > cv::xphoto::createLearningBasedWB (const String &path_to_model=String())
のインスタンスを作成します.LearningBasedWB [【詳解】(英語]
CV_EXPORTS_W void cv::xphoto::applyChannelGains (InputArray src, OutputArray dst, float gainB, float gainG, float gainR)
複数のホワイトバランスアルゴリズムの最後のステップである,チャンネルゲインを適用するための効率的な固定小数点近似法を実装します.[【詳解】(英語]

詳解

列挙型詳解

Bm3dSteps

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

列挙値
BM3D_STEPALL

アルゴリズムの全ステップを実行

BM3D_STEP1

アルゴリズムの最初のステップのみ実行する

BM3D_STEP2

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

InpaintTypes

様々なインペインティング・アルゴリズム

参照
inpaint
列挙値
インペイント・シフトマップ(inpaint_shiftmap)

このアルゴリズムでは、画像パッチの支配的な対応関係(変換)を検索し、この変換を用いてシームレスに塗り潰すことを試みます。

Inpaint_fsr_best

FSR(Frequency Selective Reconstruction)を実行します。再構成にかかる時間に応じて、BESTとFASTの2つの品質プロファイルのいずれかを選択できます。参照[GenserPCS2018】を参照してください。]および[SeilerTIP2015】を参照してください。]を参照してください。

このアルゴリズムは、以下のような分野で活用できる可能性があります。

  1. 誤差の隠蔽(インペインティング)。サンプリングマスクは、再構成されるべき歪んだ入力画像の欠損ピクセルを示す。
  2. 非正則サンプリング。良いサンプリングマスクの選び方の詳細については、レビュー[GroscheICIP2018]を参照してください。および[GroscheIST2018]を参照してください。.

1チャンネルのグレースケールまたは3チャンネルのBGR画像を受け付けます。

従来の許容範囲

  • CV_8Uでは0~255
  • CV_16Uでは0-65535
  • CV_32F/CV_64F では 0-1.
INPAINT_FSR_FAST

INPAINT_FSR_BEST」を参照してください。

TransformTypes

BM3Dトランスフォームタイプ

列挙値
HAAR

正規化されていない Haar 変換.

関数詳解

applyChannelGains()

CV_EXPORTS_W void cv::xphoto::applyChannelGains ( InputArray src,
OutputArray dst,
float gainB,
float gainG,
float gainR
)

複数のホワイトバランスアルゴリズムの最後のステップである,チャンネルゲインを適用するための効率的な固定小数点近似法を実装します.

引数
src BGR 色空間の 3 チャンネル画像を入力します(CV_8UC3 または CV_16UC3 のいずれか).
dst src と同じサイズ,同じ種類の画像を出力.
gainB Bチャンネルのゲイン
gainG Gチャンネル用ゲイン
gainR Rチャンネルに対するゲイン

bm3dDenoising() [1/2]

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

Block-Matching and 3D-filtering アルゴリズムを用いて画像のノイズ除去を行うhttp://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf演算処理の最適化を行います。ノイズはガウスホワイトノイズと予想される。

引数
src 8ビットまたは16ビットの1チャンネル画像を入力します.
dstStep1 src と同じサイズ,同じタイプの BM3D の第 1 段階目の画像を出力します.
dstStep2 src と同じサイズ,同じタイプの BM3D の第 2 段階の出力画像.
h フィルタの強さを調整するパラメータ.h 値が大きいと,ノイズは完全に除去されますが,画像の細部も除去されます.h 値が小さいと,細部は保持されますが,ノイズも若干保持されます.
templateWindowSize ブロックマッチングに使われるテンプレートパッチのサイズ(ピクセル).2の累乗である必要があります。
searchWindowSize ブロックマッチングを行うためのウィンドウのサイズ(ピクセル)。searchWindowsSize が大きいほどノイズ除去時間が長くなります。templateWindowSizeよりも大きくなければならない。
blockMatchingStep1 BM3Dの最初のステップ(ハードスレッショルド)のためのブロックマッチングスレッショルド、つまり2つのブロックが類似しているとみなされる最大距離。値はユークリッド距離で表される。
blockMatchingStep2 BM3Dの第2ステップ(ウィーナー・フィルタリング)のためのブロック・マッチング閾値、すなわち2つのブロックが類似しているとみなされる最大の距離。ユークリッド距離で表される値。
groupSize 協調フィルタリングのための3Dグループの最大サイズ。
slidingStep 次の参照ブロックごとに処理するスライディングステップ。
beta カイザー窓パラメータ:窓の変換によるサイドローブの減衰に影響する。カイザー窓は、ボーダー効果を軽減するために使用されます。ウィンドウの使用を防ぐには、ベータをゼロに設定します。
normType ブロック間の距離の計算に使用されるノルム。L2よりも遅いですが、より正確な結果が得られます。L1よりも遅いですが、より正確な結果が得られます。
step 実行するBM3Dのステップ。可能なバリエーションは、ステップ1、ステップ2、両方のステップ。
transformType 協調フィルタリングステップで使用される直交変換のタイプ。現在は,Haar変換のみがサポートされています.

この機能は、グレースケール画像に適用されることを想定している。この関数の高度な使い方としては、異なる色空間のカラー画像を手動でノイズ除去することができます。

参照
fastNlMeansDenoising

bm3dDenoising() [2/2]

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

Block-Matching and 3D-filtering アルゴリズムを用いて画像のノイズ除去を行う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よりも大きくなければならない。
blockMatchingStep1 BM3Dの最初のステップ(ハードスレッショルド)のためのブロックマッチングスレッショルド、つまり2つのブロックが類似しているとみなされる最大距離。値はユークリッド距離で表される。
blockMatchingStep2 BM3Dの第2ステップ(ウィーナー・フィルタリング)のためのブロック・マッチング閾値、すなわち2つのブロックが類似しているとみなされる最大の距離。ユークリッド距離で表される値。
groupSize 協調フィルタリングのための3Dグループの最大サイズ。
slidingStep 次の参照ブロックごとに処理するスライディングステップ。
beta カイザー窓パラメータ:窓の変換によるサイドローブの減衰に影響する。カイザー窓は、ボーダー効果を軽減するために使用されます。ウィンドウの使用を防ぐには、ベータをゼロに設定します。
normType ブロック間の距離の計算に使用されるノルム。L2よりも遅いですが、より正確な結果が得られます。L1よりも遅いですが、より正確な結果が得られます。
step 実行されるBM3Dのステップ。BM3D_STEP1とBM3D_STEPALLのみ使用可能です。BM3D_STEP2は、基本的な推定値が存在する必要があるため、許可されない。
transformType 協調フィルタリングステップで使用される直交変換のタイプ。現在は,Haar変換のみがサポートされています.

この機能は、グレースケール画像に適用されることを想定している。この関数の高度な使い方としては、異なる色空間のカラー画像を手動でノイズ除去することができます。

参照
fastNlMeansDenoising

createLearningBasedWB()

CV_EXPORTS_W Ptr< LearningBasedWB > cv::xphoto::createLearningBasedWB ( const String & path_to_model = String() )

のインスタンスを作成します.LearningBasedWB

引数
path_to_model モデルを含む.ymlファイルへのパス。指定されていない場合は、デフォルトのモデルが使用されます。

createTonemapDurand()

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

視差検索範囲を作成します。TonemapDurandオブジェクト

これらを使用するには、cmakeでOPENCV_ENABLE_NONFREEオプションを設定する必要があります。ご自身の責任でご利用ください。

引数
gamma ガンマ補正のためのガンマ値です。関連項目: createTonemap
contrast ここで max と min は,結果として得られる画像の最大と最小の輝度値です.
saturation 彩度拡張値。関連項目: createTonemapDrago
sigma_color 色空間におけるバイラテラルフィルターシグマ
sigma_space 座標空間でのバイラテラル・フィルター・シグマ

dctDenoising()

CV_EXPORTS_W void cv::xphoto::dctDenoising ( const Mat & src,
Mat & dst,
const double sigma,
const int psize = 16
)

この関数は、シンプルなdctベースのノイズ除去を実装しています。

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

引数
src ソース画像
dst 送信先画像
sigma 期待雑音標準偏差
psize dctが計算されるブロックサイドのサイズ
参照
fastNlMeansDenoising

inpaint()

CV_EXPORTS_W void cv::xphoto::inpaint ( const Mat & src,
const Mat & mask,
Mat & dst,
const int algorithmType
)

この関数は,さまざまな単一画像のインペインティングアルゴリズムを実装しています.

原著論文を見る[He2012]を参照してください.(Shiftmap) あるいは[GenserPCS2018】を参照してください。]および[SeilerTIP2015】を参照してください。](FSR) を参照してください.

引数
src ソース画像
  • #INPAINT_SHIFTMAP: これは,1から4までの任意の種類と任意のチャンネル数を持ちます.3チャンネルと4チャンネルの画像の場合,この関数はCIELab色空間かそれに似た色空間を想定しており,1番目の色成分は強度を,2番目と3番目は色を表します.しかし,どのような色空間であっても試すことができます.
  • #INPAINT_FSR_BEST や #INPAINT_FSR_FAST のような色空間です。1チャンネルのグレースケールまたは3チャンネルのBGR画像.
mask マスク (#CV_8UC1), ゼロ以外のピクセルは有効な画像領域を示し,ゼロのピクセルはインペイントされる領域を示します.
dst 送信先画像
algorithmType xphoto::InpaintTypes を参照してください.

oilPainting() [1/2]

CV_EXPORTS_W void cv::xphoto::oilPainting ( InputArray src,
OutputArray dst,
int size,
int dynRatio
)

oilPainting 書籍を参照[Holzmann1988】を参照してください。]を参照してください。

引数
src 3チャンネルまたは1チャンネルの画像( CV_8UC3 または CV_8UC1 )を入力します.
dst src と同じサイズ,同じ種類の画像を出力.
size 隣り合うサイズは 2-size+1
dynRatio 画像は,ヒストグラム処理の前に dynRatio で分割されます.

oilPainting() [2/2]

CV_EXPORTS_W void cv::xphoto::oilPainting ( InputArray src,
OutputArray dst,
int size,
int dynRatio,
int code
)

oilPainting 書籍を参照[Holzmann1988】を参照してください。]を参照してください。

引数
src 3チャンネルまたは1チャンネルの画像( CV_8UC3 または CV_8UC1 )を入力します.
dst src と同じサイズ,同じ種類の画像を出力.
size 隣り合うサイズは 2-size+1
dynRatio 画像は,ヒストグラム処理の前に dynRatio で分割されます.
code 色空間変換コード(ColorConversionCodesを参照してください).ヒストグラムは第1面のみ使用されます。