OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
cv::bioinspired::Retina クラス abstract

class which allows the Gipsa/Listic Labs model to be used with OpenCV. [詳解]

#include <retina.hpp>

cv::Algorithmを継承しています。

公開メンバ関数

virtual CV_WRAP Size getInputSize ()=0
Retreive retina input buffer size[【詳解】(英語]
virtual CV_WRAP Size getOutputSize ()=0
空間的な対数変換が適用された場合,入力とは異なる可能性のあるレチナ出力バッファサイズを取得します.[【詳解】(英語]
virtual CV_WRAP void setup (String retinaParameterFile="", const bool applyDefaultSetupOnFailure=true)=0
現在のレティナインスタンスの設定を調整するために、XMLレティナパラメータファイルを開こうとする[【詳解】(英語]
virtual void setup (cv::FileStorage &fs, const bool applyDefaultSetupOnFailure=true)=0
virtual void setup (RetinaParameters newParameters)=0
virtual RetinaParameters getParameters ()=0
virtual CV_WRAP const String printSetup ()=0
使用したパラメータの設定を示す文字列を出力[【詳解】(英語]
virtual CV_WRAP void write (String fs) const =0
xml/yml形式のパラメータ情報を書き込む[【詳解】(英語]
virtual void write (FileStorage &fs) const CV_OVERRIDE=0
virtual CV_WRAP void setupOPLandIPLParvoChannel (const bool colorMode=true, const bool normaliseOutput=true, const float photoreceptorsLocalAdaptationSensitivity=0.7f, const float photoreceptorsTemporalConstant=0.5f, const float photoreceptorsSpatialConstant=0.53f, const float horizontalCellsGain=0.f, const float HcellsTemporalConstant=1.f, const float HcellsSpatialConstant=7.f, const float ganglionCellsSensitivity=0.7f)=0
OPLとIPLのパルボチャネルを設定する(生物学的モデルを参照)。[【詳解】(英語]
virtual CV_WRAP void setupIPLMagnoChannel (const bool normaliseOutput=true, const float parasolCells_beta=0.f, const float parasolCells_tau=0.f, const float parasolCells_k=7.f, const float amacrinCellsTemporalCutFrequency=1.2f, const float V0CompressionParameter=0.95f, const float localAdaptintegration_tau=0.f, const float localAdaptintegration_k=7.f)=0
内側神経叢層(IPL)拡大細胞チャネルのパラメータ値を設定します。[【詳解】(英語]
virtual CV_WRAP void run (InputArray inputImage)=0
入力画像に網膜を適用するためのメソッド.[【詳解】(英語]
virtual CV_WRAP void applyFastToneMapping (InputArray inputImage, OutputArray outputToneMappedImage)=0
このメソッドは、画像の輝度を補正したり、逆光の問題を修正したり、影の部分のディテールを強調したりすることを目的として画像を処理します。[【詳解】(英語]
virtual CV_WRAP void getParvo (OutputArray retinaOutput_parvo)=0
網膜の詳細チャンネルのアクセッサ(foveal visionのモデル)。[【詳解】(英語]
virtual CV_WRAP void getParvoRAW (OutputArray retinaOutput_parvo)=0
網膜の詳細チャンネルのアクセッサ(foveal visionのモデル)。[【詳解】(英語]
virtual CV_WRAP void getMagno (OutputArray retinaOutput_magno)=0
Retreive retina input buffer size 網膜入力バッファサイズ 網膜のモーションチャンネルへのアクセッサ(モデル周辺視).[【詳解】(英語]
virtual CV_WRAP void getMagnoRAW (OutputArray retinaOutput_magno)=0
Retreive retina input buffer size 網膜入力バッファサイズ 網膜のモーションチャンネルへのアクセッサ(モデル周辺視).[【詳解】(英語]
virtual CV_WRAP const Mat getMagnoRAW () const =0
virtual CV_WRAP const Mat getParvoRAW () const =0
virtual CV_WRAP void setColorSaturation (const bool saturateColors=true, const float colorSaturationValue=4.0f)=0
色の多重化処理の最終段階として,彩度を有効にします.この彩度は,多重化された画像の各チャンネルに適用されるシグモイド関数です.[【詳解】(英語]
virtual CV_WRAP void clearBuffers ()=0
すべての網膜バッファをクリアします.[【詳解】(英語]
virtual CV_WRAP void activateMovingContoursProcessing (const bool activate)=0
Magnocellular パスウェイ処理(モーション情報抽出)の有効化/無効化、デフォルトでは有効化されている[【詳解】(英語]
virtual CV_WRAP void activateContoursProcessing (const bool activate)=0
Parvocellular パスウェイ処理(輪郭情報抽出)の有効化/無効化、デフォルトでは有効化されています。[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承公開メンバ関数
virtual CV_WRAP void clear ()
アルゴリズムの状態をクリアする[【詳解】(英語]
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
virtual CV_WRAP void read (const FileNode &fn)
アルゴリズム・パラメータをファイル・ストレージから読み込みます。[【詳解】(英語]
virtual CV_WRAP bool empty () const
が空の場合はtrueを返します。Algorithmが空の場合は真を返します。[【詳解】(英語]
virtual CV_WRAP void save (const String &filename) const
virtual CV_WRAP String getDefaultName () const

静的公開メンバ関数

static CV_WRAP Ptr< Retina > create (Size inputSize)
static CV_WRAP Ptr< Retina > create (Size inputSize, const bool colorMode, int colorSamplingMethod=RETINA_COLOR_BAYER, const bool useRetinaLogSampling=false, const float reductionFactor=1.0f, const float samplingStrength=10.0f)
標準化されたインターフェイスのコンストラクタ : インスタンスへのスマートポインタを取得します。Retinaインスタンス[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承静的公開メンバ関数
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
ファイル・ノードからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
ファイルからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
文字列からアルゴリズムを読み込む[【詳解】(英語]

その他の継承メンバ

- 基底クラス cv::Algorithm に属する継承限定公開メンバ関数
void writeFormat (FileStorage &fs) const

詳解

Gipsa/Listic LabsのモデルをOpenCVで使用できるようにするクラス.

この網膜モデルは,時空間的な画像処理を可能にします(静止画やビデオシーケンスに適用されます).要約すると,以下のような網膜モデルの特性があります.

USE : このモデルは、基本的に時空間ビデオエフェクトに使用できますが、以下のような用途にも使用できます。_getParvoメソッドの出力マトリクスを使用した場合:入力画像の輝度範囲に強く、S/N比が向上し、ディテールが強調されたテクスチャ分析 _getMagnoメソッドの出力マトリクスを使用した場合:前述の特性を持つモーション分析

詳細については,以下の論文を参照してください:Benoit A., Caplier A., Durette B., Herault, J., "USING HUMAN VISUAL SYSTEM MODELING FOR BIO-INSPIRED LOW LEVEL IMAGE PROCESSING", Elsevier, Computer Vision and Image Understanding 114 (2010), pp.758-773, DOI:http://dx.doi.org/10.1016/j.cviu.2010.01.011Vision: イメージ、シグナル、ニューラルネットワーク。視覚認識における神経処理のモデル (Progress in Neural Processing),By: Jeanny Herault, ISBN: 9814273686. WAPI (Tower ID): 113266891.

網膜フィルタには、著者がコードを描き直した博士号取得者や研究者の研究成果が含まれています。retinacolor.hppモジュールを見て、Brice Chaix de Lavareneのカラーモザイキング/デモザイキングや参考論文を発見してください。B. Chaix de Lavarene, D. Alleysson, B. Durette, J. Herault (2007). "Efficient demosaicing through recursive filtering", IEEE International Conference on Image Processing ICIP 2007 take a look at imagelogpolprojection.hpp to discover retina spatial log sampling which originates from Barthelemy Durette phd with Jeanny Herault. ARetina/ V1皮質への投影も提案されていますが、これはJeannyの議論に由来しています。詳細は、上記で引用したJeanny Heraultsの本に記載されています。

関数詳解

activateContoursProcessing()

virtual CV_WRAP void cv::bioinspired::Retina::activateContoursProcessing ( const bool activate )
pure virtual

Parvocellular パスウェイ処理(輪郭情報抽出)の有効化/無効化、デフォルトでは有効化されています。

引数
activate Parvocellular (contours information extraction) 出力を有効にすべき場合は true,そうでない場合は false... 有効にすると,Parvocellular 出力はRetina::getParvoメソッド

activateMovingContoursProcessing()

virtual CV_WRAP void cv::bioinspired::Retina::activateMovingContoursProcessing ( const bool activate )
pure virtual

Magnocellular パスウェイ処理(モーション情報抽出)の有効化/無効化、デフォルトでは有効化されている

引数
activate 活性化されていれば、マグノセルラー出力はgetMagnoメソッド

applyFastToneMapping()

virtual CV_WRAP void cv::bioinspired::Retina::applyFastToneMapping ( InputArray inputImage,
OutputArray outputToneMappedImage
)
pure virtual

このメソッドは、画像の輝度を補正したり、逆光の問題を修正したり、影の部分のディテールを強調したりすることを目的として画像を処理します。

このメソッドは、ハイダイナミックRange画像のトーンマッピング(8bit/pixel以上の画像を8bit/pixelに圧縮)を行うことができます。を簡略化したものです。RetinaParvocellularモデル(run/getParvoメソッドコールの簡易版)の簡易版で、スペクトルホワイトニングなどを行う網膜の外叢状層をモデル化した時空間フィルタが含まれていません。しかし、トーンマッピングには最適で、しかも高速に動作します。

デモと実験のセクションでは、オリジナルの網膜モデルとこの手法を使ったトーンマッピングの例と方法を紹介しています。

引数
inputImage 処理する入力画像(float形式で符号化されている必要があります.CV_32F, CV_32FC1, CV_32F_C3, CV_32F_C4, 4チャンネル目は考慮されません).
outputToneMappedImage 出力される8ビット/チャンネルのトーンマップ画像(CV_8U または CV_8UC3 フォーマット).

clearBuffers()

virtual CV_WRAP void cv::bioinspired::Retina::clearBuffers ( )
pure virtual

すべての網膜バッファをクリアします.

(このメソッドを呼び出した直後に発生する時間的変化に注意してください(長時間目を閉じていた後に目を開けるのと同じです)。

create() [1/2]

static CV_WRAP Ptr< Retina > cv::bioinspired::Retina::create ( Size inputSize )
static

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

create() [2/2]

static CV_WRAP Ptr< Retina > cv::bioinspired::Retina::create ( Size inputSize,
const bool colorMode,
int colorSamplingMethod = RETINA_COLOR_BAYER,
const bool useRetinaLogSampling = false,
const float reductionFactor = 1.0f,
const float samplingStrength = 10.0f
)
static

標準化されたインターフェイスのコンストラクタ : インスタンスへのスマートポインタを取得します。Retinaインスタンス

引数
inputSize 入力フレームサイズ
colorMode 選択された処理モード:色処理あり/なし
colorSamplingMethod どのようなカラーサンプリングを利用するかを指定します.
  • cv::bioinspired::RETINA_COLOR_RANDOM: 各ピクセルの位置は,R, G, B のいずれかで,ランダムに選択されます.
  • cv::bioinspired::RETINA_COLOR_DIAGONAL: カラーサンプリングは,RGBRGB...,2行目 BRGBRGBRG...,3行目 GBRGBRGBR....
  • cv::bioinspired::RETINA_COLOR_BAYER: 標準的なベイヤーサンプリング.
useRetinaLogSampling 網膜のログサンプリングを有効にします.真の場合は,以下の2つのパラメータを利用できます.
reductionFactor param useRetinaLogSampling=true の場合にのみ有効です.出力フレームの縮小率を指定します(中央(焦点)は高解像度で,コーナーはアンダースケールが可能なので,精密なリークなしに出力の縮小が可能です).
samplingStrength param useRetinaLogSampling=true の場合のみ有効で,適用されるログスケールの強さを指定します.

getInputSize()

virtual CV_WRAP Size cv::bioinspired::Retina::getInputSize ( )
pure virtual

Retreive retina input buffer size

戻り値
網膜の入力バッファサイズ.

getMagno()

virtual CV_WRAP void cv::bioinspired::Retina::getMagno ( OutputArray retinaOutput_magno )
pure virtual

Retreive retina input buffer size 網膜入力バッファサイズ 網膜のモーションチャンネルへのアクセッサ(モデル周辺視).

警告:getMagnoRAWメソッドは,[0;255]の範囲でリスケールされていないバッファを返しますが,non RAWメソッドでは,正規化された行列を取得できます.

引数
retinaOutput_magno 出力バッファ(必要ならば再割り当てされます),フォーマットは :
  • aMatこの出力は,OpenCVでの標準的な8ビット画像処理用にリスケールされます.
  • RAW メソッドは,実際には 1 次元の行列(エンコーディングは M1, M2,... Mn)を返します.この出力は,定量化や再スケーリングが行われていない,元の網膜フィルタモデルの出力です.
参照
getMagnoRAW

getMagnoRAW() [1/2]

virtual CV_WRAP const Mat cv::bioinspired::Retina::getMagnoRAW ( ) const
pure virtual

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getMagnoRAW() [2/2]

virtual CV_WRAP void cv::bioinspired::Retina::getMagnoRAW ( OutputArray retinaOutput_magno )
pure virtual

Retreive retina input buffer size 網膜入力バッファサイズ 網膜のモーションチャンネルへのアクセッサ(モデル周辺視).

参照
getMagno

getOutputSize()

virtual CV_WRAP Size cv::bioinspired::Retina::getOutputSize ( )
pure virtual

空間的な対数変換が適用された場合,入力とは異なる可能性のあるレチナ出力バッファサイズを取得します.

戻り値
網膜出力のバッファサイズ

getParameters()

virtual RetinaParameters cv::bioinspired::Retina::getParameters ( )
pure virtual
戻り値
現在のパラメータ設定

getParvo()

virtual CV_WRAP void cv::bioinspired::Retina::getParvo ( OutputArray retinaOutput_parvo )
pure virtual

網膜の詳細チャンネルのアクセッサ(foveal visionのモデル)。

警告:getParvoRAWメソッドは,[0;255]の範囲でリスケールされていないバッファを返しますが,nonRAWメソッドでは,正規化された行列を取り出すことができます。

引数
retinaOutput_parvo 出力バッファ(必要ならば再割り当てされます),フォーマットは :
  • aMatこの出力は,OpenCVでの標準的な8ビット画像処理用にリスケールされます.
  • RAWメソッドは,実際には1次元の行列(エンコーディングはR1, R2, ... Rn, G1, G2, ..., Gn, B1, B2, ... Bn)を返しますが,この出力は,定量化やリスケーリングを行っていない,オリジナルの網膜フィルタモデルの出力です。
参照
getParvoRAW

getParvoRAW() [1/2]

virtual CV_WRAP const Mat cv::bioinspired::Retina::getParvoRAW ( ) const
pure virtual

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

getParvoRAW() [2/2]

virtual CV_WRAP void cv::bioinspired::Retina::getParvoRAW ( OutputArray retinaOutput_parvo )
pure virtual

網膜の詳細チャンネルのアクセッサ(foveal visionのモデル)。

参照
getParvo

printSetup()

virtual CV_WRAP const String cv::bioinspired::Retina::printSetup ( )
pure virtual

使用したパラメータの設定を示す文字列を出力

戻り値
整形されたパラメータ情報を含む文字列

run()

virtual CV_WRAP void cv::bioinspired::Retina::run ( InputArray inputImage )
pure virtual

入力画像に網膜を適用するためのメソッド.

実行後、カプセル化された retina モジュールは、専用のアクセサを使用して出力を提供する準備ができています(getParvo および getMagno メソッドを参照)。

引数
inputImage 入力画像Mat処理される画像.グレーレベルまたはBGRで,任意のフォーマット(8ビットから16ビットまで)で符号化されています.

setColorSaturation()

virtual CV_WRAP void cv::bioinspired::Retina::setColorSaturation ( const bool saturateColors = true,
const float colorSaturationValue = 4.0f
)
pure virtual

色の多重化処理の最終段階として,彩度を有効にします.この彩度は,多重化された画像の各チャンネルに適用されるシグモイド関数です.

引数
saturateColors 色飽和を有効にするか(trueの場合),無効にするか(falseの場合)を示す真偽値
colorSaturationValue 彩度係数: クロミナンスバッファに適用される,単純な係数です.

setup() [1/3]

virtual void cv::bioinspired::Retina::setup ( cv::FileStorage & fs,
const bool applyDefaultSetupOnFailure = true
)
pure virtual

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
fs 網膜パラメータを含むファイルストレージを開く
applyDefaultSetupOnFailure エラーが発生した場合には,trueを設定する

setup() [2/3]

virtual void cv::bioinspired::Retina::setup ( RetinaParameters newParameters )
pure virtual

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

引数
newParameters 新しいターゲット設定で更新されたパラメータ構造体。

setup() [3/3]

virtual CV_WRAP void cv::bioinspired::Retina::setup ( String retinaParameterFile = "",
const bool applyDefaultSetupOnFailure = true
)
pure virtual

現在のレティナインスタンスの設定を調整するために、XMLレティナパラメータファイルを開こうとする

  • XMLファイルが存在しない場合は、デフォルトの設定が適用されます。
  • 警告, 読み込んだXMLファイルが有効でない場合は例外が発生します。
    引数
    retinaParameterFile パラメータファイル名
    applyDefaultSetupOnFailure エラーが発生した場合には,trueを設定する
    メソッドを使用して現在のパラメータ構造を取得しRetina::getParametersメソッドを使用して現在のパラメータ構造を取得し、メソッドを実行する前に更新することができます。Retina::setup.

setupIPLMagnoChannel()

virtual CV_WRAP void cv::bioinspired::Retina::setupIPLMagnoChannel ( const bool normaliseOutput = true,
const float parasolCells_beta = 0.f,
const float parasolCells_tau = 0.f,
const float parasolCells_k = 7.f,
const float amacrinCellsTemporalCutFrequency = 1.2f,
const float V0CompressionParameter = 0.95f,
const float localAdaptintegration_tau = 0.f,
const float localAdaptintegration_k = 7.f
)
pure virtual

内側神経叢層(IPL)拡大細胞チャネルのパラメータ値を設定します。

周辺視野のOPL処理段階から出力された信号を処理し、運動情報の強調を行うチャンネルです。詳細チャンネルとはデコレーション関係にあります。詳細は参考文献を参照してください。

引数
normaliseOutput は、出力が0から255の間でリスケールされるか(true)、されないか(false)を指定します。
parasolCells_beta 網膜のIPLレベルでの局所的なコントラスト適応(神経節細胞の局所適応)に使われるローパスフィルタのゲイン,典型的な値は0
parasolCells_tau 網膜のIPLレベルでの局所的なコントラスト適応(神経節細胞の局所的な適応)に用いられるローパスフィルタの時定数,単位はフレーム,代表値は0(即時応答).
parasolCells_k 網膜のIPLレベルでの局所的なコントラスト適応(神経節細胞の局所的な適応)に用いられるローパスフィルタの空間定数,単位はピクセル,代表値は5である。
amacrinCellsTemporalCutFrequency マグノセルラーウェイ(運動情報チャネル)の1次ハイパスフィターの時定数、単位はフレーム、代表値は1.2
V0CompressionParameter 神経節細胞の局所適応出力の圧縮強度を指定します。最良の結果を得るためには、0.6から1の間の値を設定してください。高い値を設定すると、低い値の感度がより高くなり、出力の飽和が早くなります。
localAdaptintegration_tau 局所適応計算のための局所的な "動きの平均 "の計算に関与するローパスフィルタの時間的定数を指定する。
localAdaptintegration_k 局所適応計算のための局所的な "motion mean "の計算に用いるローパス・フィルタの空間定数を指定する。

setupOPLandIPLParvoChannel()

virtual CV_WRAP void cv::bioinspired::Retina::setupOPLandIPLParvoChannel ( const bool colorMode = true,
const bool normaliseOutput = true,
const float photoreceptorsLocalAdaptationSensitivity = 0.7f,
const float photoreceptorsTemporalConstant = 0.5f,
const float photoreceptorsSpatialConstant = 0.53f,
const float horizontalCellsGain = 0.f,
const float HcellsTemporalConstant = 1.f,
const float HcellsSpatialConstant = 7.f,
const float ganglionCellsSensitivity = 0.7f
)
pure virtual

OPLとIPLのパルボチャネルを設定する(生物学的モデルを参照)。

OPLは、網膜の外柔術層と呼ばれ、スペクトルを狭め、時空間ノイズを低減しながら、全体的な輝度(低周波エネルギー)を減衰させる時空間フィルタリングを行います IPL parvoは、OPLの次の処理段階であり、網膜の内柔術層の一部を指し、焦点距離での高い輪郭感度を実現します。詳しくは参考文献をご覧ください。詳しくは、Benoit A., Caplier A., Durette B., Herault, J., "USING HUMAN VISUAL SYSTEM MODELING FOR BIO-INSPIRED LOW LEVEL IMAGE PROCESSING", Elsevier, Computer Vision and Image Understanding 114 (2010), pp. 758-773, DOI.をご覧ください。http://dx.doi.org/10.1016/j.cviu.2010.01.011

引数
colorMode 色を処理する場合(true)としない場合(false)を指定して、グレーレベルの画像を処理します。
normaliseOutput は、出力が0から255の間でリスケールされるか(true)、されないか(false)を指定します。
photoreceptorsLocalAdaptationSensitivity 視細胞の感度を0〜1で指定(値が大きくなるとログ圧縮効果が大きくなる)
photoreceptorsTemporalConstant 光受容器の1次ローパスフィルタの時定数。時間的に高い周波数(ノイズや速い動き)をカットするのに使います。単位はフレームで、典型的な値は1フレームです
photoreceptorsSpatialConstant 光受容器の1次ローパスフィルターの空間定数。高い空間周波数(ノイズや太い輪郭)をカットするのに使用し、単位はピクセル、代表値は1ピクセル。
horizontalCellsGain 水平セルネットワークのゲインが0の場合、出力の平均値はゼロになります。パラメータが1に近い場合、輝度はフィルタリングされずに出力に到達します。
HcellsTemporalConstant 水平セルの1次ローパスフィルタの時定数。低時間周波数(局所的な輝度変化)をカットするために使用します。単位はフレームで、典型的な値は1フレームです。
HcellsSpatialConstant 水平セルの1次ローパスフィルタの空間定数。低空間周波数(局所輝度)をカットするために使用し、単位はピクセル、代表値は5ピクセル。この値は、神経節細胞レベルでの局所コントラスト適応を計算する際に、局所コントラストの計算にも使用される(内嗅状層傍細胞チャネルモデル)。
ganglionCellsSensitivity 神経節細胞の局所適応出力の圧縮強度を0.6~1の間で設定します。高い値を設定すると、低い値の感度がより高くなり、出力の飽和が早くなりますが、推奨値は0.7です。

write() [1/2]

virtual void cv::bioinspired::Retina::write ( FileStorage & fs ) const
pure virtual

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

cv::Algorithmを再実装します。

write() [2/2]

virtual CV_WRAP void cv::bioinspired::Retina::write ( String fs ) const
pure virtual

xml/yml形式のパラメータ情報を書き込む

引数
fs フォーマットされたパラメータ情報が書き込まれるxmlファイルのファイル名です。

このクラス詳解は次のファイルから抽出されました: