WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開メンバ関数 | 限定公開変数類
FVCL::CFvImageParser クラスabstract

画像解析クラスの基本クラス [詳解]

詳解

画像解析クラスの基本クラス

namespace FVCL

このクラスは画像処理クラスの基本クラスとなります。
抽象化されたクラスですので、継承しなければインスタンスの生成は行えません。

必要条件:
ヘッダー: FVCLbasic.h
解説:

画像処理クラスは、 FVCL::CFvImageParser から派生しています。 このクラスは、以下のメソッドを持つ抽象クラスです。
  • FVCL::CFvImageParser::SetSrcImage
    入力画像(処理対象の画像オブジェクト)をクラスのインスタンスメンバに設定するメソッドです。
  • FVCL::CFvImageParser::SetDstImage
    出力画像(処理結果の画像オブジェクト)をクラスのインスタンスメンバに設定するメソッドです。
  • FVCL::CFvImageParser::IsValid
    入出力画像の有効性を検査するメソッドです。 これは純粋仮想関数ですので、派生クラスで実装しています。
  • FVCL::CFvImageParser::Validate
    出力画像を有効化するメソッドです。 これは純粋仮想関数ですので、派生クラスで実装しています。
  • FVCL::CFvImageParser::Execute
    画像処理を実行するメソッドです。 これは純粋仮想関数ですので、派生クラスで実装しています。

基本的な画像の加工処理を行う機能は、入力画像と出力画像を1つ以上必要とします。
画像の計測や解析を行う機能は、出力画像を必要としない場合が多く、 代わりに、出力結果(座標、特徴量 等)を格納する機能固有のクラスを必要とします。 結果を格納するクラスは、CFvxxxxResult のように『 Result 』のサフィックスが付加されています。 画像処理を行う前に、このインスタンスを SetResult メソッドで設定する必要があります。

例1) 入力画像と出力画像が 1:1 の画像処理:

FVCL::Data::CFvImage src; // 入力画像
FVCL::Data::CFvImage dst; // 出力画像
// ここで src に何らかのデータが取り込まれたものと仮定します.
FVCL::Filter::CFvSobelFilter parser; // 画像処理クラスの本体
parser.SetSrcImage( 0, &src ); // 入力画像を設定
parser.SetDstImage( 0, &dst ); // 出力画像を設定
if( ! parser.IsValid() ) // 入出力画像の整合性の確認
parser.Validate(); // 不整合があれば出力画像の有効化を試みる
if( ! parser.Execute() ) // 画像処理の実行
{
_tprintf(_T("ErrorCode=%d\n"), parser.GetErrorCode());
}


例2) 入力画像と出力画像が 2:1 の画像処理:

FVCL::Data::CFvImage src1; // 入力画像1
FVCL::Data::CFvImage src2; // 入力画像2
FVCL::Data::CFvImage dst; // 出力画像
// ここで src1,src2 に何らかのデータが取り込まれたものと仮定します.
FVCL::Operation::CFvAddOperation parser; // 画像処理クラスの本体
parser.SetSrcImage( 0, &src1 ); // 1つ目の入力画像を設定
parser.SetSrcImage( 1, &src2 ); // 2つ目の入力画像を設定
parser.SetDstImage( 0, &dst ); // 出力画像を設定
if( ! parser.IsValid() ) // 入出力画像の整合性の確認
parser.Validate(); // 不整合があれば出力画像の有効化を試みる
if( ! parser.Execute() ) // 画像処理の実行
{
_tprintf(_T("ErrorCode=%d\n"), parser.GetErrorCode());
}


例3) 入力画像を解析してデータ配列を出力するクラス:

FVCL::Data::CFvImage src; // 入力画像
// ここで src に何らかのデータが取り込まれたものと仮定します.
FVCL::Blob::CFvBlob parser; // 画像処理クラスの本体
FVCL::Blob::CFvBlobResult result; // 出力結果を受け取るデータ構造クラス
parser.SetSrcImage( 0, &src ); // 入力画像を設定
parser.SetResult( &result ); // 出力結果格納用オブジェクトを設定
parser.IsValid(); // 入力画像の有効性の確認
if( ! parser.Execute() ) // 画像処理の実行
{
_tprintf(_T("ErrorCode=%d\n"), parser.GetErrorCode());
}
for( UINT index=0 ; index<result.GetCount() ; index++ )
{
result.GetData( index, &data );
}

+ FVCL::CFvImageParser の継承関係図

公開メンバ関数

 CFvImageParser ()
 コンストラクタ [詳解]
 
virtual ~CFvImageParser ()
 デストラクタ [詳解]
 
virtual bool Execute ()=0
 画像処理の実行 [詳解]
 
virtual bool IsValid () const =0
 画像の整合性の検査 [詳解]
 
virtual bool Validate (INT option=0) const =0
 出力画像の有効化 [詳解]
 
virtual FVCL::ImageSize GetValidSize (INT index, INT option=0) const
 出力画像の有効サイズの取得 [詳解]
 
bool SetSrcImage (INT index, const FVCL::Data::CFvImage *image)
 入力画像の設定 [詳解]
 
const FVCL::Data::CFvImageGetSrcImage (INT index) const
 入力画像の取得 [詳解]
 
INT GetSrcImageCount () const
 入力画像コレクションの許容量の取得 [詳解]
 
bool SetDstImage (INT index, FVCL::Data::CFvImage *image)
 出力画像の設定 [詳解]
 
FVCL::Data::CFvImageGetDstImage (INT index) const
 出力画像の取得 [詳解]
 
INT GetDstImageCount () const
 出力画像コレクションの許容量の取得 [詳解]
 
virtual CFvImageParseroperator= (const CFvImageParser &src)
 代入オペレータ (=) [詳解]
 
virtual bool operator== (const CFvImageParser &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvImageParser &src) const
 比較オペレータ (!=) [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

限定公開変数類

INT m_cpu_mode
 CPUモード [詳解]
 
CFvArray< FVCL::Data::CFvImage const * > m_SrcImages
 入力画像コレクション [詳解]
 
CFvArray< FVCL::Data::CFvImage * > m_DstImages
 出力画像コレクション [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 

構築子と解体子

FVCL::CFvImageParser::CFvImageParser ( )

コンストラクタ

標準のコンストラクタです。

解説:
入出力画像オブジェクトのコレクション数は 0 に初期化されます。
FVCL::CFvImageParser::~CFvImageParser ( )
virtual

デストラクタ

このオブジェクトを破棄します。

関数詳解

FVCL::CFvImageParser::Execute ( )
pure virtual

画像処理の実行

メンバに設定された画像オブジェクトを処理します。

戻り値
true正常
false異常
解説:
これは純粋仮想関数です。実際の処理は継承したクラスで実装されます。

FVCL::GS2::CFvGS2, FVCL::Blob::CFvBlob, FVCL::Filter::CFvDistanceTransform, FVCL::GSearch::CFvGSearch, FVCL::Conversion::CFvPseudoColor, FVCL::Filter::CFvCannyEdge, FVCL::Filter::CFvStegerFilter, FVCL::Filter::CFvThinningFilter, FVCL::Filter::CFvGaussian1DFilter, FVCL::Edge::CFvBoxEdge, FVCL::Measure::CFvProjection, FVCL::DM::CFvDM, FVCL::Measure::CFvHistogram, FVCL::Measure::CFvStatisticsEx, FVCL::QR::CFvQR, FVCL::Barcode::CFvBarcode, FVCL::Edge::CFvArcEdge, FVCL::Edge::CFvLineEdge, FVCL::Enhance::CFvLUTConvertCH, FVCL::Filter::CFvGaussian2DFilter, FVCL::GeoTrans::CFvAffine, FVCL::Operation::CFvDivScalar, FVCL::Operation::CFvSubScalar, FVCL::PolarTrans::CFvPolarTrans, FVCL::Conversion::CFvBinarize, FVCL::Conversion::CFvBinarizeBandThreshold, FVCL::Conversion::CFvEnhance, FVCL::Conversion::CFvExtract, FVCL::Edge::CFvEdge2DCorrelation, FVCL::Edge::CFvRadialEdge, FVCL::Enhance::CFvLUTConvert, FVCL::Filter::CFvAddNoiseSaltAndPepper, FVCL::Filter::CFvArbitraryKernelFilter, FVCL::Filter::CFvHarrisFilter, FVCL::Filter::CFvRankFilter, FVCL::FPM::CFvFPMCorrelationEdge, FVCL::FPM::CFvFPMSobel, FVCL::Hough::CFvCircleHoughCorrelationEdge, FVCL::Hough::CFvCircleHoughSobelEdge, FVCL::Hough::CFvLineHoughCorrelationEdge, FVCL::Hough::CFvLineHoughSobelEdge, FVCL::Measure::CFvStatistics, FVCL::Operation::CFvAddOperation, FVCL::Operation::CFvAddScalar, FVCL::Operation::CFvDiffOperation, FVCL::Operation::CFvDiffScalar, FVCL::Operation::CFvDivOperation, FVCL::Operation::CFvMaskOperation, FVCL::Operation::CFvMaxOperation, FVCL::Operation::CFvMaxScalar, FVCL::Operation::CFvMinOperation, FVCL::Operation::CFvMinScalar, FVCL::Operation::CFvMulOperation, FVCL::Operation::CFvMulScalar, FVCL::Operation::CFvSubOperation, FVCL::Conversion::CFvBackgroundRemove, FVCL::Conversion::CFvBinarizeDiscrimination, FVCL::Conversion::CFvBinarizeGradient, FVCL::Conversion::CFvBinarizeKittler, FVCL::Conversion::CFvBinarizeLaplacian, FVCL::Conversion::CFvBinarizeNiblack, FVCL::Conversion::CFvBinarizePTile, FVCL::Conversion::CFvBinarizeSauvola, FVCL::Conversion::CFvBinarizeShiftAverage, FVCL::Conversion::CFvColorConvert, FVCL::Conversion::CFvConvertHSVtoGray, FVCL::Conversion::CFvCopyBorder, FVCL::Conversion::CFvGenerateChessboard, FVCL::Conversion::CFvGrayScale, FVCL::Conversion::CFvHysteresisRLE, FVCL::Conversion::CFvHysteresisStackUS16, FVCL::Conversion::CFvPack, FVCL::Conversion::CFvShrink, FVCL::Conversion::CFvTrueColor, FVCL::Conversion::CFvUnpack, FVCL::Edge::CFvEdge2D, FVCL::Edge::CFvEdge2DSobel, FVCL::Edge::CFvPairEdge, FVCL::Enhance::CFvGammaConvert, FVCL::Enhance::CFvHistogramNormalization, FVCL::Filter::CFvAddNoiseGauss, FVCL::Filter::CFvAddNoiseUniform, FVCL::Filter::CFvAnyCross, FVCL::Filter::CFvAnyCrossThreshold, FVCL::Filter::CFvAverageFilter, FVCL::Filter::CFvAverageMxN, FVCL::Filter::CFvBFilter, FVCL::Filter::CFvDoGFilter, FVCL::Filter::CFvGaussianFilter, FVCL::Filter::CFvKirsch, FVCL::Filter::CFvLaplacianFilter, FVCL::Filter::CFvLoGFilter, FVCL::Filter::CFvMedianApproxFilter, FVCL::Filter::CFvMedianFilter, FVCL::Filter::CFvMedianMxN, FVCL::Filter::CFvNms, FVCL::Filter::CFvNmsCanny, FVCL::Filter::CFvNmsDir, FVCL::Filter::CFvPrewitt, FVCL::Filter::CFvRobertsFilter, FVCL::Filter::CFvRobinson, FVCL::Filter::CFvSobelFilter, FVCL::Filter::CFvSolodelFilter, FVCL::Filter::CFvVarianceMxN, FVCL::Filter::CFvZeroCross, FVCL::Filter::CFvZeroCrossThreshold, FVCL::GeoTrans::CFvMirror, FVCL::GeoTrans::CFvPerspective, FVCL::GeoTrans::CFvRotate, FVCL::GeoTrans::CFvScale, FVCL::GeoTrans::CFvShift, FVCL::GeoTrans::CFvTranspose, FVCL::Morphology::CFvBottomHat, FVCL::Morphology::CFvBottomHat3x3, FVCL::Morphology::CFvClosing, FVCL::Morphology::CFvClosing3x3, FVCL::Morphology::CFvDilation, FVCL::Morphology::CFvDilation3x3, FVCL::Morphology::CFvErosion, FVCL::Morphology::CFvErosion3x3, FVCL::Morphology::CFvHitOrMiss, FVCL::Morphology::CFvOpening, FVCL::Morphology::CFvOpening3x3, FVCL::Morphology::CFvThickening, FVCL::Morphology::CFvThickeningPre, FVCL::Morphology::CFvThinning, FVCL::Morphology::CFvThinningPre, FVCL::Morphology::CFvTopHat, FVCL::Morphology::CFvTopHat3x3, FVCL::Operation::CFvAbsOperation, FVCL::Operation::CFvAndOperation, FVCL::Operation::CFvAndScalar, FVCL::Operation::CFvInvertOperation, FVCL::Operation::CFvNandOperation, FVCL::Operation::CFvNandScalar, FVCL::Operation::CFvNotOperation, FVCL::Operation::CFvOrOperation, FVCL::Operation::CFvOrScalar, FVCL::Operation::CFvShiftOperation, FVCL::Operation::CFvXorOperation, FVCL::Operation::CFvXorScalar, FVCL::Conversion::CFvGenerateJaehne, FVCL::Conversion::CFvTypeConvert, FVCL::Enhance::CFvHistogramEqualization, FVCL::Filter::CFvNmsSimple, FVCL::Filter::CFvSharp, FVCL::Filter::CFvSobelDir, FVCL::GeoTrans::CFvWarp, FVCL::Conversion::CFvCombine, FVCL::Conversion::CFvSplit (計150項目)で実装されています。

FVCL::CFvImageParser::IsValid ( ) const
pure virtual

画像の整合性の検査

メンバに設定された画像オブジェクトが処理可能か否かを判定します。

戻り値
true正常
false異常
解説:
これは純粋仮想関数です。実際の処理は継承したクラスで実装されます。

FVCL::GS2::CFvGS2, FVCL::Blob::CFvBlob, FVCL::Filter::CFvDistanceTransform, FVCL::GSearch::CFvGSearch, FVCL::Conversion::CFvPseudoColor, FVCL::Filter::CFvCannyEdge, FVCL::Filter::CFvStegerFilter, FVCL::Filter::CFvThinningFilter, FVCL::Filter::CFvGaussian1DFilter, FVCL::Measure::CFvProjection, FVCL::Measure::CFvStatisticsEx, FVCL::Edge::CFvBoxEdge, FVCL::DM::CFvDM, FVCL::Measure::CFvHistogram, FVCL::QR::CFvQR, FVCL::Barcode::CFvBarcode, FVCL::Edge::CFvArcEdge, FVCL::Edge::CFvLineEdge, FVCL::Enhance::CFvLUTConvertCH, FVCL::Filter::CFvGaussian2DFilter, FVCL::GeoTrans::CFvAffine, FVCL::Operation::CFvDivScalar, FVCL::Operation::CFvSubScalar, FVCL::PolarTrans::CFvPolarTrans, FVCL::Conversion::CFvBinarize, FVCL::Conversion::CFvBinarizeBandThreshold, FVCL::Conversion::CFvEnhance, FVCL::Conversion::CFvExtract, FVCL::Edge::CFvEdge2DCorrelation, FVCL::Edge::CFvRadialEdge, FVCL::Enhance::CFvLUTConvert, FVCL::Filter::CFvAddNoiseSaltAndPepper, FVCL::Filter::CFvArbitraryKernelFilter, FVCL::Filter::CFvHarrisFilter, FVCL::Filter::CFvRankFilter, FVCL::FPM::CFvFPMCorrelationEdge, FVCL::FPM::CFvFPMSobel, FVCL::Hough::CFvCircleHoughCorrelationEdge, FVCL::Hough::CFvCircleHoughSobelEdge, FVCL::Hough::CFvLineHoughCorrelationEdge, FVCL::Hough::CFvLineHoughSobelEdge, FVCL::Measure::CFvStatistics, FVCL::Operation::CFvAddOperation, FVCL::Operation::CFvAddScalar, FVCL::Operation::CFvDiffOperation, FVCL::Operation::CFvDiffScalar, FVCL::Operation::CFvDivOperation, FVCL::Operation::CFvMaskOperation, FVCL::Operation::CFvMaxOperation, FVCL::Operation::CFvMaxScalar, FVCL::Operation::CFvMinOperation, FVCL::Operation::CFvMinScalar, FVCL::Operation::CFvMulOperation, FVCL::Operation::CFvMulScalar, FVCL::Operation::CFvSubOperation, FVCL::Conversion::CFvBackgroundRemove, FVCL::Conversion::CFvBinarizeDiscrimination, FVCL::Conversion::CFvBinarizeGradient, FVCL::Conversion::CFvBinarizeKittler, FVCL::Conversion::CFvBinarizeLaplacian, FVCL::Conversion::CFvBinarizeNiblack, FVCL::Conversion::CFvBinarizePTile, FVCL::Conversion::CFvBinarizeSauvola, FVCL::Conversion::CFvBinarizeShiftAverage, FVCL::Conversion::CFvColorConvert, FVCL::Conversion::CFvConvertHSVtoGray, FVCL::Conversion::CFvCopyBorder, FVCL::Conversion::CFvGenerateChessboard, FVCL::Conversion::CFvGrayScale, FVCL::Conversion::CFvHysteresisRLE, FVCL::Conversion::CFvHysteresisStackUS16, FVCL::Conversion::CFvPack, FVCL::Conversion::CFvShrink, FVCL::Conversion::CFvTrueColor, FVCL::Conversion::CFvUnpack, FVCL::Edge::CFvEdge2D, FVCL::Edge::CFvEdge2DSobel, FVCL::Edge::CFvPairEdge, FVCL::Enhance::CFvGammaConvert, FVCL::Enhance::CFvHistogramNormalization, FVCL::Filter::CFvAddNoiseGauss, FVCL::Filter::CFvAddNoiseUniform, FVCL::Filter::CFvAnyCross, FVCL::Filter::CFvAnyCrossThreshold, FVCL::Filter::CFvAverageFilter, FVCL::Filter::CFvAverageMxN, FVCL::Filter::CFvBFilter, FVCL::Filter::CFvDoGFilter, FVCL::Filter::CFvGaussianFilter, FVCL::Filter::CFvKirsch, FVCL::Filter::CFvLaplacianFilter, FVCL::Filter::CFvLoGFilter, FVCL::Filter::CFvMedianApproxFilter, FVCL::Filter::CFvMedianFilter, FVCL::Filter::CFvMedianMxN, FVCL::Filter::CFvNms, FVCL::Filter::CFvNmsCanny, FVCL::Filter::CFvNmsDir, FVCL::Filter::CFvPrewitt, FVCL::Filter::CFvRobertsFilter, FVCL::Filter::CFvRobinson, FVCL::Filter::CFvSobelFilter, FVCL::Filter::CFvSolodelFilter, FVCL::Filter::CFvVarianceMxN, FVCL::Filter::CFvZeroCross, FVCL::Filter::CFvZeroCrossThreshold, FVCL::GeoTrans::CFvMirror, FVCL::GeoTrans::CFvPerspective, FVCL::GeoTrans::CFvRotate, FVCL::GeoTrans::CFvScale, FVCL::GeoTrans::CFvShift, FVCL::GeoTrans::CFvTranspose, FVCL::Morphology::CFvBottomHat, FVCL::Morphology::CFvBottomHat3x3, FVCL::Morphology::CFvClosing, FVCL::Morphology::CFvClosing3x3, FVCL::Morphology::CFvDilation, FVCL::Morphology::CFvDilation3x3, FVCL::Morphology::CFvErosion, FVCL::Morphology::CFvErosion3x3, FVCL::Morphology::CFvHitOrMiss, FVCL::Morphology::CFvOpening, FVCL::Morphology::CFvOpening3x3, FVCL::Morphology::CFvThickening, FVCL::Morphology::CFvThickeningPre, FVCL::Morphology::CFvThinning, FVCL::Morphology::CFvThinningPre, FVCL::Morphology::CFvTopHat, FVCL::Morphology::CFvTopHat3x3, FVCL::Operation::CFvAbsOperation, FVCL::Operation::CFvAndOperation, FVCL::Operation::CFvAndScalar, FVCL::Operation::CFvInvertOperation, FVCL::Operation::CFvNandOperation, FVCL::Operation::CFvNandScalar, FVCL::Operation::CFvNotOperation, FVCL::Operation::CFvOrOperation, FVCL::Operation::CFvOrScalar, FVCL::Operation::CFvShiftOperation, FVCL::Operation::CFvXorOperation, FVCL::Operation::CFvXorScalar, FVCL::Conversion::CFvGenerateJaehne, FVCL::Conversion::CFvTypeConvert, FVCL::Enhance::CFvHistogramEqualization, FVCL::Filter::CFvNmsSimple, FVCL::Filter::CFvSharp, FVCL::Filter::CFvSobelDir, FVCL::GeoTrans::CFvWarp, FVCL::Conversion::CFvCombine, FVCL::Conversion::CFvSplit (計150項目)で実装されています。

FVCL::CFvImageParser::Validate ( INT  option = 0) const
pure virtual

出力画像の有効化

メンバに設定された出力画像オブジェクトを有効化します。

引数
[in]option挙動制御オプション
省略時は、0(既定の動作)になります。 出力画像の種類が複数ある場合は、 0以外の値を指定して有効化の挙動を制御します。
戻り値
true正常
false異常
解説:
これは純粋仮想関数です。実際の処理は継承したクラスで実装されます。

FVCL::GS2::CFvGS2, FVCL::Blob::CFvBlob, FVCL::Filter::CFvDistanceTransform, FVCL::GSearch::CFvGSearch, FVCL::Conversion::CFvPseudoColor, FVCL::Filter::CFvCannyEdge, FVCL::Filter::CFvStegerFilter, FVCL::Filter::CFvThinningFilter, FVCL::Filter::CFvGaussian1DFilter, FVCL::Measure::CFvProjection, FVCL::Measure::CFvStatisticsEx, FVCL::Edge::CFvBoxEdge, FVCL::DM::CFvDM, FVCL::Measure::CFvHistogram, FVCL::QR::CFvQR, FVCL::Barcode::CFvBarcode, FVCL::Edge::CFvArcEdge, FVCL::Edge::CFvLineEdge, FVCL::Enhance::CFvLUTConvertCH, FVCL::Filter::CFvGaussian2DFilter, FVCL::GeoTrans::CFvAffine, FVCL::Operation::CFvDivScalar, FVCL::Operation::CFvSubScalar, FVCL::PolarTrans::CFvPolarTrans, FVCL::Conversion::CFvBinarize, FVCL::Conversion::CFvBinarizeBandThreshold, FVCL::Conversion::CFvEnhance, FVCL::Conversion::CFvExtract, FVCL::Edge::CFvEdge2DCorrelation, FVCL::Edge::CFvRadialEdge, FVCL::Enhance::CFvLUTConvert, FVCL::Filter::CFvAddNoiseSaltAndPepper, FVCL::Filter::CFvArbitraryKernelFilter, FVCL::Filter::CFvHarrisFilter, FVCL::Filter::CFvRankFilter, FVCL::FPM::CFvFPMCorrelationEdge, FVCL::FPM::CFvFPMSobel, FVCL::Hough::CFvCircleHoughCorrelationEdge, FVCL::Hough::CFvCircleHoughSobelEdge, FVCL::Hough::CFvLineHoughCorrelationEdge, FVCL::Hough::CFvLineHoughSobelEdge, FVCL::Measure::CFvStatistics, FVCL::Operation::CFvAddOperation, FVCL::Operation::CFvAddScalar, FVCL::Operation::CFvDiffOperation, FVCL::Operation::CFvDiffScalar, FVCL::Operation::CFvDivOperation, FVCL::Operation::CFvMaskOperation, FVCL::Operation::CFvMaxOperation, FVCL::Operation::CFvMaxScalar, FVCL::Operation::CFvMinOperation, FVCL::Operation::CFvMinScalar, FVCL::Operation::CFvMulOperation, FVCL::Operation::CFvMulScalar, FVCL::Operation::CFvSubOperation, FVCL::Conversion::CFvBackgroundRemove, FVCL::Conversion::CFvBinarizeDiscrimination, FVCL::Conversion::CFvBinarizeGradient, FVCL::Conversion::CFvBinarizeKittler, FVCL::Conversion::CFvBinarizeLaplacian, FVCL::Conversion::CFvBinarizeNiblack, FVCL::Conversion::CFvBinarizePTile, FVCL::Conversion::CFvBinarizeSauvola, FVCL::Conversion::CFvBinarizeShiftAverage, FVCL::Conversion::CFvColorConvert, FVCL::Conversion::CFvConvertHSVtoGray, FVCL::Conversion::CFvCopyBorder, FVCL::Conversion::CFvGenerateChessboard, FVCL::Conversion::CFvGrayScale, FVCL::Conversion::CFvHysteresisRLE, FVCL::Conversion::CFvHysteresisStackUS16, FVCL::Conversion::CFvPack, FVCL::Conversion::CFvShrink, FVCL::Conversion::CFvTrueColor, FVCL::Conversion::CFvUnpack, FVCL::Edge::CFvEdge2D, FVCL::Edge::CFvEdge2DSobel, FVCL::Edge::CFvPairEdge, FVCL::Enhance::CFvGammaConvert, FVCL::Enhance::CFvHistogramNormalization, FVCL::Filter::CFvAddNoiseGauss, FVCL::Filter::CFvAddNoiseUniform, FVCL::Filter::CFvAnyCross, FVCL::Filter::CFvAnyCrossThreshold, FVCL::Filter::CFvAverageFilter, FVCL::Filter::CFvAverageMxN, FVCL::Filter::CFvBFilter, FVCL::Filter::CFvDoGFilter, FVCL::Filter::CFvGaussianFilter, FVCL::Filter::CFvKirsch, FVCL::Filter::CFvLaplacianFilter, FVCL::Filter::CFvLoGFilter, FVCL::Filter::CFvMedianApproxFilter, FVCL::Filter::CFvMedianFilter, FVCL::Filter::CFvMedianMxN, FVCL::Filter::CFvNms, FVCL::Filter::CFvNmsCanny, FVCL::Filter::CFvNmsDir, FVCL::Filter::CFvPrewitt, FVCL::Filter::CFvRobertsFilter, FVCL::Filter::CFvRobinson, FVCL::Filter::CFvSobelFilter, FVCL::Filter::CFvSolodelFilter, FVCL::Filter::CFvVarianceMxN, FVCL::Filter::CFvZeroCross, FVCL::Filter::CFvZeroCrossThreshold, FVCL::GeoTrans::CFvMirror, FVCL::GeoTrans::CFvPerspective, FVCL::GeoTrans::CFvRotate, FVCL::GeoTrans::CFvScale, FVCL::GeoTrans::CFvShift, FVCL::GeoTrans::CFvTranspose, FVCL::Morphology::CFvBottomHat, FVCL::Morphology::CFvBottomHat3x3, FVCL::Morphology::CFvClosing, FVCL::Morphology::CFvClosing3x3, FVCL::Morphology::CFvDilation, FVCL::Morphology::CFvDilation3x3, FVCL::Morphology::CFvErosion, FVCL::Morphology::CFvErosion3x3, FVCL::Morphology::CFvHitOrMiss, FVCL::Morphology::CFvOpening, FVCL::Morphology::CFvOpening3x3, FVCL::Morphology::CFvThickening, FVCL::Morphology::CFvThickeningPre, FVCL::Morphology::CFvThinning, FVCL::Morphology::CFvThinningPre, FVCL::Morphology::CFvTopHat, FVCL::Morphology::CFvTopHat3x3, FVCL::Operation::CFvAbsOperation, FVCL::Operation::CFvAndOperation, FVCL::Operation::CFvAndScalar, FVCL::Operation::CFvInvertOperation, FVCL::Operation::CFvNandOperation, FVCL::Operation::CFvNandScalar, FVCL::Operation::CFvNotOperation, FVCL::Operation::CFvOrOperation, FVCL::Operation::CFvOrScalar, FVCL::Operation::CFvShiftOperation, FVCL::Operation::CFvXorOperation, FVCL::Operation::CFvXorScalar, FVCL::Conversion::CFvGenerateJaehne, FVCL::Conversion::CFvTypeConvert, FVCL::Enhance::CFvHistogramEqualization, FVCL::Filter::CFvNmsSimple, FVCL::Filter::CFvSharp, FVCL::Filter::CFvSobelDir, FVCL::GeoTrans::CFvWarp, FVCL::Conversion::CFvCombine, FVCL::Conversion::CFvSplit (計150項目)で実装されています。

FVCL::CFvImageParser::GetValidSize ( INT  index,
INT  option = 0 
) const
virtual

出力画像の有効サイズの取得

現在設定されている入力画像を処理する為に必要な出力画像のサイズを取得します。
出力画像を必要としない画像処理の場合は例外(FVCL_ErrorCode::NOT_SUPPORTED)を発行します。

引数
[in]index出力画像の配列指標 [0~(GetDstImageCount-1)] ※複数の出力が有る場合、指標によって取得される情報が異なる場合があります。
[in]option挙動制御オプション [0:既定の動作] ※指定できる範囲は派生クラスにより異なります。派生クラスの Validate の説明を参照ください。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
21 FVCL_ErrorCode::NOT_SUPPORTED サポートされていません。
11 FVCL_ErrorCode::INVALID_PARAMETER 指定された引数に誤りがあります。
81 FVCL_ErrorCode::HAVE_NOT_IMAGE 画像オブジェクトが設定されていません。
91 FVCL_ErrorCode::INVALID_SRC_IMAGETYPE 入力側の画像種別が不正です。
94 FVCL_ErrorCode::INVALID_SRC_IMAGESIZE 入力側の画像のサイズが無効です。
97 FVCL_ErrorCode::INVALID_SRC_CHANNEL 入力側の画像のチャネル数が無効です。
19 FVCL_ErrorCode::INVALID_PROCAREA 処理範囲に誤りがあります。
解説:
このメソッドの仕様は派生クラスによって異なります。 詳しくは、派生クラスの説明及び Validate メソッドの説明を参照ください。
基本的な仕様は以下の通りです。

幅及び高さ: 現在設定されている入力画像の処理範囲サイズに合わせます。
※1) CFvEnhance の場合は、画像サイズに合わせます。
※2) 幾何変換の場合は option に 1 を指定すると変換後のサイズを取得できます。

画像種別: 現在設定されている入力画像の画像種別に合わせます。
入出力画像の型が異なる画像処理の場合はその限りではなく処理可能な型に合わせます。
※1) 派生クラスによって option により変換後の画像種別を指定できるものがあります。

チャネル数: 現在設定されている入力画像のチャネル数に合わせます。
入出力画像のチャネル数が異なる画像処理の場合はその限りではなく処理可能なチャネル数に合わせます。

FVCL::GS2::CFvGS2, FVCL::Blob::CFvBlob, FVCL::Filter::CFvDistanceTransform, FVCL::GSearch::CFvGSearch, FVCL::Conversion::CFvPseudoColor, FVCL::Filter::CFvCannyEdge, FVCL::Filter::CFvStegerFilter, FVCL::Filter::CFvThinningFilter, FVCL::Filter::CFvGaussian1DFilter, FVCL::Measure::CFvProjection, FVCL::Measure::CFvStatisticsEx, FVCL::Edge::CFvBoxEdge, FVCL::DM::CFvDM, FVCL::Measure::CFvHistogram, FVCL::QR::CFvQR, FVCL::Barcode::CFvBarcode, FVCL::Edge::CFvArcEdge, FVCL::Edge::CFvLineEdge, FVCL::Enhance::CFvLUTConvertCH, FVCL::Filter::CFvGaussian2DFilter, FVCL::GeoTrans::CFvAffine, FVCL::Operation::CFvDivScalar, FVCL::Operation::CFvSubScalar, FVCL::PolarTrans::CFvPolarTrans, FVCL::Conversion::CFvBinarize, FVCL::Conversion::CFvBinarizeBandThreshold, FVCL::Conversion::CFvEnhance, FVCL::Conversion::CFvExtract, FVCL::Edge::CFvEdge2DCorrelation, FVCL::Edge::CFvRadialEdge, FVCL::Enhance::CFvLUTConvert, FVCL::Filter::CFvAddNoiseSaltAndPepper, FVCL::Filter::CFvArbitraryKernelFilter, FVCL::Filter::CFvHarrisFilter, FVCL::Filter::CFvRankFilter, FVCL::FPM::CFvFPMCorrelationEdge, FVCL::FPM::CFvFPMSobel, FVCL::Hough::CFvCircleHoughCorrelationEdge, FVCL::Hough::CFvCircleHoughSobelEdge, FVCL::Hough::CFvLineHoughCorrelationEdge, FVCL::Hough::CFvLineHoughSobelEdge, FVCL::Measure::CFvStatistics, FVCL::Operation::CFvAddOperation, FVCL::Operation::CFvAddScalar, FVCL::Operation::CFvDiffOperation, FVCL::Operation::CFvDiffScalar, FVCL::Operation::CFvDivOperation, FVCL::Operation::CFvMaskOperation, FVCL::Operation::CFvMaxOperation, FVCL::Operation::CFvMaxScalar, FVCL::Operation::CFvMinOperation, FVCL::Operation::CFvMinScalar, FVCL::Operation::CFvMulOperation, FVCL::Operation::CFvMulScalar, FVCL::Operation::CFvSubOperation, FVCL::Conversion::CFvBackgroundRemove, FVCL::Conversion::CFvBinarizeDiscrimination, FVCL::Conversion::CFvBinarizeGradient, FVCL::Conversion::CFvBinarizeKittler, FVCL::Conversion::CFvBinarizeLaplacian, FVCL::Conversion::CFvBinarizeNiblack, FVCL::Conversion::CFvBinarizePTile, FVCL::Conversion::CFvBinarizeSauvola, FVCL::Conversion::CFvBinarizeShiftAverage, FVCL::Conversion::CFvColorConvert, FVCL::Conversion::CFvConvertHSVtoGray, FVCL::Conversion::CFvCopyBorder, FVCL::Conversion::CFvGenerateChessboard, FVCL::Conversion::CFvGrayScale, FVCL::Conversion::CFvHysteresisRLE, FVCL::Conversion::CFvHysteresisStackUS16, FVCL::Conversion::CFvPack, FVCL::Conversion::CFvShrink, FVCL::Conversion::CFvTrueColor, FVCL::Conversion::CFvUnpack, FVCL::Edge::CFvEdge2D, FVCL::Edge::CFvEdge2DSobel, FVCL::Edge::CFvPairEdge, FVCL::Enhance::CFvGammaConvert, FVCL::Enhance::CFvHistogramNormalization, FVCL::Filter::CFvAddNoiseGauss, FVCL::Filter::CFvAddNoiseUniform, FVCL::Filter::CFvAnyCross, FVCL::Filter::CFvAnyCrossThreshold, FVCL::Filter::CFvAverageFilter, FVCL::Filter::CFvAverageMxN, FVCL::Filter::CFvBFilter, FVCL::Filter::CFvDoGFilter, FVCL::Filter::CFvGaussianFilter, FVCL::Filter::CFvKirsch, FVCL::Filter::CFvLaplacianFilter, FVCL::Filter::CFvLoGFilter, FVCL::Filter::CFvMedianApproxFilter, FVCL::Filter::CFvMedianFilter, FVCL::Filter::CFvMedianMxN, FVCL::Filter::CFvNms, FVCL::Filter::CFvNmsCanny, FVCL::Filter::CFvNmsDir, FVCL::Filter::CFvPrewitt, FVCL::Filter::CFvRobertsFilter, FVCL::Filter::CFvRobinson, FVCL::Filter::CFvSobelFilter, FVCL::Filter::CFvSolodelFilter, FVCL::Filter::CFvVarianceMxN, FVCL::Filter::CFvZeroCross, FVCL::Filter::CFvZeroCrossThreshold, FVCL::GeoTrans::CFvMirror, FVCL::GeoTrans::CFvPerspective, FVCL::GeoTrans::CFvRotate, FVCL::GeoTrans::CFvScale, FVCL::GeoTrans::CFvShift, FVCL::GeoTrans::CFvTranspose, FVCL::Morphology::CFvBottomHat, FVCL::Morphology::CFvBottomHat3x3, FVCL::Morphology::CFvClosing, FVCL::Morphology::CFvClosing3x3, FVCL::Morphology::CFvDilation, FVCL::Morphology::CFvDilation3x3, FVCL::Morphology::CFvErosion, FVCL::Morphology::CFvErosion3x3, FVCL::Morphology::CFvHitOrMiss, FVCL::Morphology::CFvOpening, FVCL::Morphology::CFvOpening3x3, FVCL::Morphology::CFvThickening, FVCL::Morphology::CFvThickeningPre, FVCL::Morphology::CFvThinning, FVCL::Morphology::CFvThinningPre, FVCL::Morphology::CFvTopHat, FVCL::Morphology::CFvTopHat3x3, FVCL::Operation::CFvAbsOperation, FVCL::Operation::CFvAndOperation, FVCL::Operation::CFvAndScalar, FVCL::Operation::CFvInvertOperation, FVCL::Operation::CFvNandOperation, FVCL::Operation::CFvNandScalar, FVCL::Operation::CFvNotOperation, FVCL::Operation::CFvOrOperation, FVCL::Operation::CFvOrScalar, FVCL::Operation::CFvShiftOperation, FVCL::Operation::CFvXorOperation, FVCL::Operation::CFvXorScalar, FVCL::Conversion::CFvGenerateJaehne, FVCL::Conversion::CFvTypeConvert, FVCL::Enhance::CFvHistogramEqualization, FVCL::Filter::CFvNmsSimple, FVCL::Filter::CFvSharp, FVCL::Filter::CFvSobelDir, FVCL::GeoTrans::CFvWarp, FVCL::Conversion::CFvCombine, FVCL::Conversion::CFvSplit (計150項目)で再実装されています。

FVCL::CFvImageParser::SetSrcImage ( INT  index,
const FVCL::Data::CFvImage image 
)

入力画像の設定

処理対象の画像オブジェクトをメンバに設定します。

引数
[in]index入力画像コレクションの指標 (0~)
[in]image入力画像オブジェクトへのポインタ
戻り値
true正常
false異常
例外
FVCL::CFveBadAccessException不正な指標が指定された場合に発行されます。
解説:
このクラスから派生した画像処理クラスが処理対象とする画像オブジェクトを設定します。 引数 image に指定された画像オブジェクトへのポインタがコレクションに格納されます。 引数 index には、コレクションの指標を指定します。 入力画像コレクションの個数は、各画像処理クラスのメンバ SrcImageCount に定義されています。
参照
m_SrcImages
FVCL::CFvImageParser::GetSrcImage ( INT  index) const

入力画像の取得

現在設定されている処理対象の画像オブジェクトへのポインタを取得します。

引数
[in]index入力画像コレクションの指標 (0~)
戻り値
入力画像オブジェクトへのポインタを返します。
設定されていない場合は NULL を返します。
例外
FVCL::CFveBadAccessException不正な指標が指定された場合に発行されます。
参照
m_SrcImages
FVCL::CFvImageParser::GetSrcImageCount ( ) const

入力画像コレクションの許容量の取得

入力画像コレクションの許容量を取得します。

戻り値
入力画像コレクションの許容量を返します。
全く許容されない場合は 0 を返します。
解説:
許容量は、このクラスから派生した画像処理クラスのメンバ SrcImageCount に定義されています。
参照
m_SrcImages
FVCL::CFvImageParser::SetDstImage ( INT  index,
FVCL::Data::CFvImage image 
)

出力画像の設定

処理結果を受け取る画像オブジェクトへのポインタをメンバに設定します。

引数
[in]index出力画像コレクションの指標 (0~)
[in]image出力画像オブジェクトへのポインタ
戻り値
true正常
false異常
例外
FVCL::CFveBadAccessException不正な指標が指定された場合に発行されます。
解説:
このクラスから派生した画像処理クラスが処理結果を格納する画像オブジェクトを設定します。 引数 image に指定された画像オブジェクトへのポインタがコレクションに格納されます。 引数 index には、コレクションの指標を指定します。 出力画像コレクションの個数は、各画像処理クラスのメンバ DstImageCount に定義されています。
参照
m_DstImages
FVCL::CFvImageParser::GetDstImage ( INT  index) const

出力画像の取得

現在設定されている出力画像オブジェクトへのポインタを取得します。

引数
[in]index出力画像コレクションの指標 (0~)
戻り値
出力画像オブジェクトへのポインタを返します。
設定されていない場合は NULL を返します。
例外
FVCL::CFveBadAccessException不正な指標が指定された場合に発行されます。
参照
m_DstImages
FVCL::CFvImageParser::GetDstImageCount ( ) const

出力画像コレクションの許容量の取得

出力画像コレクションの許容量を取得します。

戻り値
出力画像コレクションの許容量を返します。
全く許容されない場合は 0 を返します。
解説:
許容量は、このクラスから派生した画像処理クラスのメンバ DstImageCount に定義されています。
参照
m_DstImages
FVCL::CFvImageParser::operator= ( const CFvImageParser src)
virtual

代入オペレータ (=)

同一クラスのオブジェクトの内容を複製します。

引数
[in]src複製対象
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::CFvImageParser::operator== ( const CFvImageParser src) const
virtual

比較オペレータ (==)

同一クラスのオブジェクトの内容と比較します。

引数
[in]src比較対象
戻り値
true一致
false不一致
FVCL::CFvImageParser::operator!= ( const CFvImageParser src) const
virtual

比較オペレータ (!=)

同一クラスのオブジェクトの内容と比較します。

引数
[in]src比較対象
戻り値
true不一致
false一致

メンバ詳解

INT FVCL::CFvImageParser::m_cpu_mode
protected

CPUモード

モードの種類
  • MMX_MODE : MMXモード
  • BIT32_MODE : 通常モード

CFvArray< CFvImage const * > FVCL::CFvImageParser::m_SrcImages
protected

入力画像コレクション

処理対象の画像オブジェクトへのポインタを保持します。 配列個数は、このクラスから派生した画像処理クラスのメンバ SrcImageCount に 定義された値だけ確保されます。

参照
SetSrcImage
GetSrcImage
GetSrcImageCount
CFvArray< CFvImage * > FVCL::CFvImageParser::m_DstImages
protected

出力画像コレクション

処理結果を格納する画像オブジェクトへのポインタを保持します。 配列個数は、このクラスから派生した画像処理クラスのメンバ DstImageCount に 定義された値だけ確保されます。

参照
SetDstImage
GetDstImage
GetDstImageCount

Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時12分57秒 for WIL説明書(C++) by doxygen 1.8.11