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

詳細説明

関数

void cv::denoise_TVL1 (const std::vector< Mat > &observations, Mat &result, double lambda=1.0, int niters=30)
 主双対 (Primal-dual) アルゴリズムは、特殊な種類の変分問題 (すなわち、ある汎関数を最小化する関数を見つける問題) を解くためのアルゴリズムである。画像のノイズ除去は特に変分問題として捉えることができるため、主双対アルゴリズムをノイズ除去に利用でき、ここで実装されているのはまさにそれである。
 
void cv::cuda::fastNlMeansDenoising (const GpuMat &src, GpuMat &dst, float h, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 
void cv::cuda::fastNlMeansDenoising (InputArray src, OutputArray dst, float h, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 Non-local Means Denoisingアルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising を用い、いくつかの計算上の最適化を加えて画像のノイズ除去を行う。ノイズはガウシアンホワイトノイズを想定している。
 
void cv::fastNlMeansDenoising (InputArray src, OutputArray dst, const std::vector< float > &h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)
 Non-local Means Denoising アルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウス性白色ノイズを想定している。
 
void cv::fastNlMeansDenoising (InputArray src, OutputArray dst, float h=3, int templateWindowSize=7, int searchWindowSize=21)
 Non-local Means Denoising アルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウス性白色ノイズを想定している。
 
void cv::cuda::fastNlMeansDenoisingColored (const GpuMat &src, GpuMat &dst, float h_luminance, float photo_render, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 
void cv::cuda::fastNlMeansDenoisingColored (InputArray src, OutputArray dst, float h_luminance, float photo_render, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 カラー画像向けに改変したfastNlMeansDenoising関数。
 
void cv::fastNlMeansDenoisingColored (InputArray src, OutputArray dst, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)
 カラー画像向けに改変したfastNlMeansDenoising関数。
 
void cv::fastNlMeansDenoisingColoredMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h=3, float hColor=3, int templateWindowSize=7, int searchWindowSize=21)
 カラー画像シーケンス向けに fastNlMeansDenoisingMulti 関数を改変したもの。
 
void cv::fastNlMeansDenoisingMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, const std::vector< float > &h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)
 連続する画像が短い時間間隔で撮影されたシーケンス (例えば動画) 向けに fastNlMeansDenoising 関数を改変したもの。このバージョンの関数はグレースケール画像向け、または色空間を手動で操作する場合向けである。詳細は [46] を参照 (オープンアクセスはこちら)。
 
void cv::fastNlMeansDenoisingMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h=3, int templateWindowSize=7, int searchWindowSize=21)
 連続する画像が短い時間間隔で撮影されたシーケンス (例えば動画) 向けに fastNlMeansDenoising 関数を改変したもの。このバージョンの関数はグレースケール画像向け、または色空間を手動で操作する場合向けである。詳細は [46] を参照 (オープンアクセスはこちら)。
 
void cv::cuda::nonLocalMeans (const GpuMat &src, GpuMat &dst, float h, int search_window=21, int block_size=7, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null())
 
void cv::cuda::nonLocalMeans (InputArray src, OutputArray dst, float h, int search_window=21, int block_size=7, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null())
 簡略化を一切行わない純粋なnon local meansノイズ除去を実行する。そのため高速ではない。
 

関数詳解

◆ denoise_TVL1()

void cv::denoise_TVL1 ( const std::vector< Mat > & observations,
Mat & result,
double lambda = 1.0,
int niters = 30 )
Python:
cv.denoise_TVL1(observations, result[, lambda_[, niters]]) -> None

#include <opencv2/photo.hpp>

主双対 (Primal-dual) アルゴリズムは、特殊な種類の変分問題 (すなわち、ある汎関数を最小化する関数を見つける問題) を解くためのアルゴリズムである。画像のノイズ除去は特に変分問題として捉えることができるため、主双対アルゴリズムをノイズ除去に利用でき、ここで実装されているのはまさにそれである。

なお、この実装は2013年7月のブログ記事 [204] から取られたものであり、その記事には (やや一般化された) すぐに使える Python のソースコードも含まれていた。その後、そのコードは2013年7月末に Vadim Pisarevsky によって OpenCV を用いて C++ に書き直され、最終的に後の作者たちによって若干の調整が加えられた。

ここで扱うアルゴリズムの詳細な議論と根拠は [51] に見られるが、[204] に従ってここで概略をなぞっておくのも意味があるだろう。まず、1バイトのグレーレベル画像を、ピクセルの矩形領域 (ある \(m,\;n\in\mathbb{N}\) に対する集合 \(\left\{(x,y)\in\mathbb{N}\times\mathbb{N}\mid 1\leq x\leq n,\;1\leq y\leq m\right\}\) と見なせる) から \(\{0,1,\dots,255\}\) への関数と考える。ノイズの乗った画像を \(f_i\) と表すことにすると、この見方のもとでは、同じサイズのある画像 \(x\) が与えられたとき、それがどれだけ悪いかを次の式で測ることができる

\[\left\|\left\|\nabla x\right\|\right\| + \lambda\sum_i\left\|\left\|x-f_i\right\|\right\|\]

ここで \(\|\|\cdot\|\|\) は \(L_2\) ノルムを表す。見ての通り、第1項は画像が滑らかである (理想的には勾配が0、すなわち定数である) ことを望むという主張であり、第2項は結果が得られた観測値に近いことを望むという主張である。\(x\) を関数として扱うなら、これがまさに最小化したい汎関数であり、ここで主双対 (Primal-Dual) アルゴリズムの出番となる。

引数
observationsこの配列には、復元対象となる画像のノイズが付加されたバージョンを1つ以上含める必要がある。
resultここにノイズ除去された画像が格納される。必要に応じて自動的に確保されるため、記憶領域を事前に確保する必要はない。
lambda上記の式における \(\lambda\) に対応する。これを大きくすると、平滑化された (ぼけた) 画像が、ディテールのある (ただしノイズが多い場合がある) 画像よりも優先的に扱われる。大まかに言えば、これを小さくすると結果はよりぼけるが、より深刻な外れ値が除去される。
nitersアルゴリズムが実行する反復回数。当然ながら反復回数は多いほど良いが、この記述を定量的に詰めるのは難しいため、まずはデフォルト値を使い、結果が不十分なら増やせばよい。

◆ fastNlMeansDenoising() [1/4]

void cv::cuda::fastNlMeansDenoising ( const GpuMat & src,
GpuMat & dst,
float h,
int search_window = 21,
int block_size = 7,
Stream & stream = Stream::Null() )
inline
Python:
cv.cuda.fastNlMeansDenoising(src, h[, dst[, search_window[, block_size[, stream]]]]) -> dst

#include <opencv2/photo/cuda.hpp>

この関数の呼び出しグラフ:

◆ fastNlMeansDenoising() [2/4]

void cv::cuda::fastNlMeansDenoising ( InputArray src,
OutputArray dst,
float h,
int search_window = 21,
int block_size = 7,
Stream & stream = Stream::Null() )
Python:
cv.cuda.fastNlMeansDenoising(src, h[, dst[, search_window[, block_size[, stream]]]]) -> dst

#include <opencv2/photo/cuda.hpp>

Non-local Means Denoising アルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウス性白色ノイズを想定している。

引数
src入力の8ビット1チャンネル、2チャンネルまたは3チャンネルの画像。
dstsrc と同じサイズおよび型を持つ出力画像。
hフィルタの強度を調整する引数。h の値が大きいとノイズは完全に除去されるが画像のディテールも失われ、h の値が小さいとディテールは保たれるがノイズもある程度残る
search_window指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。search_window が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
block_size重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
stream非同期呼び出し用の Stream

この関数はグレースケール画像に適用することを想定している。カラー画像については FastNonLocalMeansDenoising::labMethod を参照。

参照
fastNlMeansDenoising

◆ fastNlMeansDenoising() [3/4]

void cv::fastNlMeansDenoising ( InputArray src,
OutputArray dst,
const std::vector< float > & h,
int templateWindowSize = 7,
int searchWindowSize = 21,
int normType = NORM_L2 )
Python:
cv.fastNlMeansDenoising(src[, dst[, h[, templateWindowSize[, searchWindowSize]]]]) -> dst
cv.fastNlMeansDenoising(src, h[, dst[, templateWindowSize[, searchWindowSize[, normType]]]]) -> dst

#include <opencv2/photo.hpp>

Non-local Means Denoising アルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウス性白色ノイズを想定している。

引数
src入力の8ビットまたは16ビット (NORM_L1の場合のみ) の1チャンネル、2チャンネル、3チャンネルまたは4チャンネルの画像。
dstsrc と同じサイズおよび型を持つ出力画像。
templateWindowSize重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
searchWindowSize指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。searchWindowsSize が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
hフィルタの強度を調整する引数の配列。すべてのチャンネルに適用される1つの引数か、dst のチャンネルごとに1つずつ指定する。h の値が大きいとノイズは完全に除去されるが画像のディテールも失われ、h の値が小さいとディテールは保たれるがノイズもある程度残る
normType重みの計算に用いるノルムの種類。NORM_L2 または NORM_L1 のいずれか。

この関数はグレースケール画像に適用することを想定している。カラー画像については fastNlMeansDenoisingColored を参照。この関数の高度な使い方として、異なる色空間でカラー画像を手動でノイズ除去することもできる。このようなアプローチは fastNlMeansDenoisingColored で用いられており、画像を CIELAB 色空間に変換した上で、異なる h パラメータで L 成分と AB 成分を別々にノイズ除去している。

◆ fastNlMeansDenoising() [4/4]

void cv::fastNlMeansDenoising ( InputArray src,
OutputArray dst,
float h = 3,
int templateWindowSize = 7,
int searchWindowSize = 21 )
Python:
cv.fastNlMeansDenoising(src[, dst[, h[, templateWindowSize[, searchWindowSize]]]]) -> dst
cv.fastNlMeansDenoising(src, h[, dst[, templateWindowSize[, searchWindowSize[, normType]]]]) -> dst

#include <opencv2/photo.hpp>

Non-local Means Denoising アルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ をいくつかの計算上の最適化とともに用いて画像のノイズ除去を行う。ノイズはガウス性白色ノイズを想定している。

引数
src入力の8ビット1チャンネル、2チャンネル、3チャンネルまたは4チャンネルの画像。
dstsrc と同じサイズおよび型を持つ出力画像。
templateWindowSize重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
searchWindowSize指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。searchWindowsSize が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
hフィルタの強度を調整する引数。h の値が大きいとノイズは完全に除去されるが画像のディテールも失われ、h の値が小さいとディテールは保たれるがノイズもある程度残る

この関数はグレースケール画像に適用することを想定している。カラー画像については fastNlMeansDenoisingColored を参照。この関数の高度な使い方として、異なる色空間でカラー画像を手動でノイズ除去することもできる。このようなアプローチは fastNlMeansDenoisingColored で用いられており、画像を CIELAB 色空間に変換した上で、異なる h パラメータで L 成分と AB 成分を別々にノイズ除去している。

◆ fastNlMeansDenoisingColored() [1/3]

void cv::cuda::fastNlMeansDenoisingColored ( const GpuMat & src,
GpuMat & dst,
float h_luminance,
float photo_render,
int search_window = 21,
int block_size = 7,
Stream & stream = Stream::Null() )
inline
Python:
cv.cuda.fastNlMeansDenoisingColored(src, h_luminance, photo_render[, dst[, search_window[, block_size[, stream]]]]) -> dst

#include <opencv2/photo/cuda.hpp>

この関数の呼び出しグラフ:

◆ fastNlMeansDenoisingColored() [2/3]

void cv::cuda::fastNlMeansDenoisingColored ( InputArray src,
OutputArray dst,
float h_luminance,
float photo_render,
int search_window = 21,
int block_size = 7,
Stream & stream = Stream::Null() )
Python:
cv.cuda.fastNlMeansDenoisingColored(src, h_luminance, photo_render[, dst[, search_window[, block_size[, stream]]]]) -> dst

#include <opencv2/photo/cuda.hpp>

カラー画像向けに fastNlMeansDenoising 関数を改変したもの。

引数
src入力の8ビット3チャンネルの画像。
dstsrc と同じサイズおよび型を持つ出力画像。
h_luminanceフィルタの強度を調整する引数。h の値が大きいとノイズは完全に除去されるが画像のディテールも失われ、h の値が小さいとディテールは保たれるがノイズもある程度残る
photo_renderfloat h と同様だが、こちらはカラー成分用。ほとんどの画像では値10で色ノイズを除去するのに十分であり、色を歪めることもない
search_window指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。search_window が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
block_size重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
stream非同期呼び出し用の Stream

この関数は画像を CIELAB 色空間に変換し、与えられた h パラメータを用いて L 成分と AB 成分を FastNonLocalMeansDenoising::simpleMethod 関数で別々にノイズ除去する。

参照
fastNlMeansDenoisingColored

◆ fastNlMeansDenoisingColored() [3/3]

void cv::fastNlMeansDenoisingColored ( InputArray src,
OutputArray dst,
float h = 3,
float hColor = 3,
int templateWindowSize = 7,
int searchWindowSize = 21 )
Python:
cv.fastNlMeansDenoisingColored(src[, dst[, h[, hColor[, templateWindowSize[, searchWindowSize]]]]]) -> dst

#include <opencv2/photo.hpp>

カラー画像向けに fastNlMeansDenoising 関数を改変したもの。

引数
src入力の8ビット3チャンネルの画像。
dstsrc と同じサイズおよび型を持つ出力画像。
templateWindowSize重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
searchWindowSize指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。searchWindowsSize が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
h輝度成分のフィルタ強度を調整する引数。h の値を大きくするとノイズは完全に除去されるが画像のディテールも失われ、小さくするとディテールは保たれるがノイズも一部残る
hColorh と同様だが、こちらはカラー成分用。ほとんどの画像では値10で色ノイズを除去するのに十分であり、色を歪めることもない

この関数は画像を CIELAB 色空間に変換し、与えられた h パラメータを用いて L 成分と AB 成分を fastNlMeansDenoising 関数で別々にノイズ除去する。

◆ fastNlMeansDenoisingColoredMulti()

void cv::fastNlMeansDenoisingColoredMulti ( InputArrayOfArrays srcImgs,
OutputArray dst,
int imgToDenoiseIndex,
int temporalWindowSize,
float h = 3,
float hColor = 3,
int templateWindowSize = 7,
int searchWindowSize = 21 )
Python:
cv.fastNlMeansDenoisingColoredMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize[, dst[, h[, hColor[, templateWindowSize[, searchWindowSize]]]]]) -> dst

#include <opencv2/photo.hpp>

カラー画像シーケンス向けに fastNlMeansDenoisingMulti 関数を改変したもの。

引数
srcImgs入力となる8ビット3チャンネル画像のシーケンス。すべての画像は同じ型とサイズでなければならない。
imgToDenoiseIndexsrcImgs シーケンス内で、ノイズ除去対象とする画像のインデックス
temporalWindowSize対象画像のノイズ除去に使用する周辺画像の枚数。奇数でなければならない。srcImgs のうち imgToDenoiseIndex - temporalWindowSize / 2 から imgToDenoiseIndex + temporalWindowSize / 2 までの画像が、srcImgs[imgToDenoiseIndex] 画像のノイズ除去に使用される。
dstsrcImgs の画像と同じサイズ・型を持つ出力画像。
templateWindowSize重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
searchWindowSize指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。searchWindowsSize が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
h輝度成分のフィルタ強度を調整する引数。h の値を大きくするとノイズは完全に除去されるが画像のディテールも失われ、小さくするとディテールは保たれるがノイズも一部残る。
hColorh と同様だが、こちらはカラー成分用。

この関数は画像を CIELAB 色空間に変換し、与えられた h パラメータを用いて L 成分と AB 成分を fastNlMeansDenoisingMulti 関数で別々にノイズ除去する。

◆ fastNlMeansDenoisingMulti() [1/2]

void cv::fastNlMeansDenoisingMulti ( InputArrayOfArrays srcImgs,
OutputArray dst,
int imgToDenoiseIndex,
int temporalWindowSize,
const std::vector< float > & h,
int templateWindowSize = 7,
int searchWindowSize = 21,
int normType = NORM_L2 )
Python:
cv.fastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize[, dst[, h[, templateWindowSize[, searchWindowSize]]]]) -> dst
cv.fastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize, h[, dst[, templateWindowSize[, searchWindowSize[, normType]]]]) -> dst

#include <opencv2/photo.hpp>

連続する画像が短い時間間隔で撮影されたシーケンス (例えば動画) 向けに fastNlMeansDenoising 関数を改変したもの。このバージョンの関数はグレースケール画像向け、または色空間を手動で操作する場合向けである。詳細は [46] を参照 (オープンアクセスはこちら)。

引数
srcImgs入力となる8ビットまたは16ビット (NORM_L1 使用時のみ) の1チャンネル、2チャンネル、3チャンネルまたは4チャンネル画像のシーケンス。すべての画像は同じ型とサイズでなければならない。
imgToDenoiseIndexsrcImgs シーケンス内で、ノイズ除去対象とする画像のインデックス
temporalWindowSize対象画像のノイズ除去に使用する周辺画像の枚数。奇数でなければならない。srcImgs のうち imgToDenoiseIndex - temporalWindowSize / 2 から imgToDenoiseIndex + temporalWindowSize / 2 までの画像が、srcImgs[imgToDenoiseIndex] 画像のノイズ除去に使用される。
dstsrcImgs の画像と同じサイズ・型を持つ出力画像。
templateWindowSize重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
searchWindowSize指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。searchWindowsSize が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
hフィルタの強度を調整する引数の配列。すべてのチャンネルに適用される1つの引数か、dst のチャンネルごとに1つずつ指定する。h の値が大きいとノイズは完全に除去されるが画像のディテールも失われ、h の値が小さいとディテールは保たれるがノイズもある程度残る
normType重みの計算に用いるノルムの種類。NORM_L2 または NORM_L1 のいずれか。

◆ fastNlMeansDenoisingMulti() [2/2]

void cv::fastNlMeansDenoisingMulti ( InputArrayOfArrays srcImgs,
OutputArray dst,
int imgToDenoiseIndex,
int temporalWindowSize,
float h = 3,
int templateWindowSize = 7,
int searchWindowSize = 21 )
Python:
cv.fastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize[, dst[, h[, templateWindowSize[, searchWindowSize]]]]) -> dst
cv.fastNlMeansDenoisingMulti(srcImgs, imgToDenoiseIndex, temporalWindowSize, h[, dst[, templateWindowSize[, searchWindowSize[, normType]]]]) -> dst

#include <opencv2/photo.hpp>

連続する画像が短い時間間隔で撮影されたシーケンス (例えば動画) 向けに fastNlMeansDenoising 関数を改変したもの。このバージョンの関数はグレースケール画像向け、または色空間を手動で操作する場合向けである。詳細は [46] を参照 (オープンアクセスはこちら)。

引数
srcImgs入力となる8ビットの1チャンネル、2チャンネル、3チャンネルまたは4チャンネル画像のシーケンス。すべての画像は同じ型とサイズでなければならない。
imgToDenoiseIndexsrcImgs シーケンス内で、ノイズ除去対象とする画像のインデックス
temporalWindowSize対象画像のノイズ除去に使用する周辺画像の枚数。奇数でなければならない。srcImgs のうち imgToDenoiseIndex - temporalWindowSize / 2 から imgToDenoiseIndex + temporalWindowSize / 2 までの画像が、srcImgs[imgToDenoiseIndex] 画像のノイズ除去に使用される。
dstsrcImgs の画像と同じサイズ・型を持つ出力画像。
templateWindowSize重みを計算するために用いるテンプレートパッチのサイズ (ピクセル単位)。奇数でなければならない。推奨値は7ピクセル
searchWindowSize指定ピクセルの加重平均を計算するために用いるウィンドウのサイズ (ピクセル単位)。奇数でなければならない。性能に線形に影響する。searchWindowsSize が大きいほどノイズ除去にかかる時間が増える。推奨値は21ピクセル
hフィルタ強度を調整する引数。h の値を大きくするとノイズは完全に除去されるが画像のディテールも失われ、小さくするとディテールは保たれるがノイズも一部残る

◆ nonLocalMeans() [1/2]

void cv::cuda::nonLocalMeans ( const GpuMat & src,
GpuMat & dst,
float h,
int search_window = 21,
int block_size = 7,
int borderMode = BORDER_DEFAULT,
Stream & stream = Stream::Null() )
inline
Python:
cv.cuda.nonLocalMeans(src, h[, dst[, search_window[, block_size[, borderMode[, stream]]]]]) -> dst

#include <opencv2/photo/cuda.hpp>

この関数の呼び出しグラフ:

◆ nonLocalMeans() [2/2]

void cv::cuda::nonLocalMeans ( InputArray src,
OutputArray dst,
float h,
int search_window = 21,
int block_size = 7,
int borderMode = BORDER_DEFAULT,
Stream & stream = Stream::Null() )
Python:
cv.cuda.nonLocalMeans(src, h[, dst[, search_window[, block_size[, borderMode[, stream]]]]]) -> dst

#include <opencv2/photo/cuda.hpp>

いかなる簡略化も行わずに純粋な non local means ノイズ除去を実行するため、高速ではない。

引数
srcソース画像。CV_8UC1、CV_8UC2、CV_8UC3 のみサポートする。
dst出力画像。
hFilter カラーのフィルタ強度を調整する sigma。
search_window探索ウィンドウのサイズ。
block_size重みの計算に使用するブロックのサイズ。
borderMode境界の種類。詳細は borderInterpolate を参照。現在は BORDER_REFLECT101 、BORDER_REPLICATE 、BORDER_CONSTANT 、BORDER_REFLECT 、BORDER_WRAP がサポートされている。
stream非同期版のための Stream
参照
fastNlMeansDenoising