WIL説明書(C++)  3.0.0
関数

詳解

関数

FVCL_API INT FVCL::Blob::GetConvex2d (const FVCL::Blob::CFvBlobData &blob, FVCL::CFvBuffer< PNT_T > *points)
 凸包の取得 [詳解]
 
FVCL_API INT FVCL::Blob::GetBoundary (const FVCL::Blob::CFvBlobData &blob, FVCL::CFvBuffer< PNT_T > *points)
 周囲座標の取得 [詳解]
 
FVCL_API INT FVCL::Blob::GetBoundaryEx (const FVCL::Blob::CFvBlobData &blob, INT connection, FVCL::CFvBuffer< PNT_T > *points_ext, FVCL::CFvBuffer< PNT_T > *points_int)
 周囲座標の取得 [詳解]
 
FVCL_API INT FVCL::Blob::GetList (::FHANDLE handle, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブデータ配列の取得 [詳解]
 
FVCL_API INT FVCL::Blob::GetList (::FHANDLE handle, const FVCL::CFvMultiData< CFvBlobFilterRange > &filters, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブデータ配列の取得 [詳解]
 
FVCL_API INT FVCL::Blob::GetRefilterList (::FHANDLE handle, const FVCL::CFvMultiData< CFvBlobFilterRange > &filters, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブデータ配列の特徴量に基づくフィルタリング [詳解]
 
FVCL_API INT FVCL::Blob::GetSortList (::FHANDLE handle, INT key1st, INT direct1st, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブの特徴量に基づくソーティング [詳解]
 
FVCL_API INT FVCL::Blob::GetSortList (::FHANDLE handle, INT key1st, INT direct1st, INT key2nd, INT direct2nd, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブの特徴量に基づくソーティング [詳解]
 
FVCL_API INT FVCL::Blob::GetSortList (::FHANDLE handle, INT key1st, INT direct1st, INT key2nd, INT direct2nd, INT key3rd, INT direct3rd, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブの特徴量に基づくソーティング [詳解]
 
FVCL_API INT FVCL::Blob::GetSpecialSortList (::FHANDLE handle, INT order, const FVCL::Data::CFvAngle &angle, FVCL::CFvBuffer< UINT > *blob_numbers)
 ブローブの位置情報に基づくソーティング [詳解]
 

関数詳解

FVCL::Blob::GetConvex2d ( const FVCL::Blob::CFvBlobData blob,
FVCL::CFvBuffer< PNT_T > *  points 
)

凸包の取得

namespace FVCL::Blob

この関数は過去のバージョンとの互換性の為に残しています。
新しい開発では CFvBlobData::GetConvex2d をご使用ください。

ブローブに外接する凸包を取得します。

引数
[in]blob対象のブローブ
[out]points凸包
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER ブローブが無効です。またはパラメータが無効です。
12 FVCL_ErrorCode::INVALID_OBJECT ブローブハンドルが無効です。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
必要条件:
ヘッダー: FVCLbasic.h
FVCL::Blob::GetBoundary ( const FVCL::Blob::CFvBlobData blob,
FVCL::CFvBuffer< PNT_T > *  points 
)

周囲座標の取得

namespace FVCL::Blob

この関数は過去のバージョンとの互換性の為に残しています。
新しい開発では CFvBlobData::GetBoundary をご使用ください。

ブローブの境界点列を取得します。

引数
[in]blob対象のブローブ
[out]points周囲座標 (External)
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER ブローブが無効です。またはパラメータが無効です。
12 FVCL_ErrorCode::INVALID_OBJECT ブローブハンドルが無効です。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
必要条件:
ヘッダー: FVCLbasic.h
FVCL::Blob::GetBoundaryEx ( const FVCL::Blob::CFvBlobData blob,
INT  connection,
FVCL::CFvBuffer< PNT_T > *  points_ext,
FVCL::CFvBuffer< PNT_T > *  points_int 
)

周囲座標の取得

namespace FVCL::Blob

この関数は過去のバージョンとの互換性の為に残しています。
新しい開発では CFvBlobData::GetBoundaryEx をご使用ください。

ブローブの境界点列を取得します。

引数
[in]blob対象のブローブ
[in]connection連結 [0:blob に従う、4:4連結、8:8連結]
[out]points_ext境界点列(外周) [不要な場合は NULL を指定してください]
[out]points_int境界点列(内周) [不要な場合は NULL を指定してください]
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER ブローブが無効です。またはパラメータが無効です。
12 FVCL_ErrorCode::INVALID_OBJECT ブローブハンドルが無効です。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
必要条件:
ヘッダー: FVCLbasic.h
FVCL::Blob::GetList ( ::FHANDLE  handle,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブデータ配列の取得

namespace FVCL::Blob

すべての有効ブローブを配列に格納して返します。
blob_numbers の配列数は再確保されます。 blob_numbers が NULL の場合もエラーを返さず、ブローブデータの検索処理を行います。

引数
[in]handle2値ブローブ解析結果ハンドル
[out]blob_numbersブローブ番号配列へのポインタ
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリが不足しています。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_get_list
FVCL::Blob::GetList ( ::FHANDLE  handle,
const FVCL::CFvMultiData< CFvBlobFilterRange > &  filters,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブデータ配列の取得

namespace FVCL::Blob

指定の特徴量範囲に該当するブローブデータを配列に格納して返します。

引数
[in]handle2値ブローブ解析結果ハンドル
[in]filters取得条件フィルタ配列
[out]blob_numbersブローブ番号配列へのポインタ
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリが不足しています。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_get_list
解説:
引数 filters に指定された特徴量範囲に該当するブローブデータを blob_numbers に格納して返します。 blob_numbers の配列数は再確保されます。 blob_numbers が NULL の場合もエラーを返さず、ブローブデータの検索処理を行います。
filters に2種類以上のフィルタが指定されている時は、全ての条件の AND での評価となります。 filters.size() が 0 個の場合は、全ての有効ブローブを取得します。 背景ブローブ及び無効ブローブは、ブローブ配列には含まれません。
FVCL::Blob::GetRefilterList ( ::FHANDLE  handle,
const FVCL::CFvMultiData< CFvBlobFilterRange > &  filters,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブデータ配列の特徴量に基づくフィルタリング

namespace FVCL::Blob

特徴量範囲に該当しないブローブデータをブローブデータ配列から取り除いて返します。

引数
[in]handle2値ブローブ解析結果ハンドル
[in]filters取得条件フィルタ配列 (1≦要素数)
[in,out]blob_numbersブローブ番号配列へのポインタ (1≦要素数)
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリが不足しています。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_refilter_list
解説:
引数 filters に指定された特徴量範囲に該当しないブローブデータを blob_numbers から取り除いて返します。 blob_numbers の配列数はフィルタリング後のサイズに再確保されます。
measure_filter_by_features.png
filters に2種類以上のフィルタが指定されている時は、全ての条件の AND での評価となります。 尚、背景ブローブ及び無効ブローブは、ブローブ配列には含まれません。 また、 blob_numbers に格納されたブローブデータのハンドルが、 このオブジェクトが持つハンドルと異なる場合も除去されます。
FVCL::Blob::GetSortList ( ::FHANDLE  handle,
INT  key1st,
INT  direct1st,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブの特徴量に基づくソーティング

namespace FVCL::Blob

ブローブデータ配列を指定された特徴量に従ってソートします。

引数
[in]handle2値ブローブ解析結果ハンドル
[in]key1st特徴量の種別(ソートキー)
指定可能な値については FVCL::Blob::FeatureType をご参照ください。
[in]direct1stソートキーのソート順
  • 0: 昇順
  • 1: 降順

[in,out]blob_numbersブローブ番号配列へのポインタ (1≦要素数)
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_sort_list
解説:
ソートキーが FVCL::Blob::FeatureType::NONE に設定された場合はパラメータエラーとなります。 引数 blob_numbers は、全て有効ブローブである必要があります。 無効ブローブが含まれていた場合はパラメータエラーとなります。 また、 blob_numbers に格納されたブローブデータのハンドルが、 このオブジェクトが持つハンドルと異なる場合もパラメータエラーとなります。
尚、要素数はソート後も変化しません。
FVCL::Blob::GetSortList ( ::FHANDLE  handle,
INT  key1st,
INT  direct1st,
INT  key2nd,
INT  direct2nd,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブの特徴量に基づくソーティング

namespace FVCL::Blob

ブローブデータ配列を指定された特徴量に従ってソートします。

引数
[in]handle2値ブローブ解析結果ハンドル
[in]key1st特徴量の種別(最優先ソートキー)
指定可能な値については FVCL::Blob::FeatureType をご参照ください。
[in]direct1st最優先ソートキーのソート順
  • 0: 昇順
  • 1: 降順

[in]key2nd特徴量の種別(第2ソートキー)
指定可能な値については FVCL::Blob::FeatureType をご参照ください。
[in]direct2nd第2ソートキーのソート順
  • 0: 昇順
  • 1: 降順

[in,out]blob_numbersブローブ番号配列へのポインタ (1≦要素数)
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_sort_list
解説:
ソート対象の特徴量は、 key1stkey2nd にて2番目まで指定することが出来ます。 キーに指定可能な値については FVCL::Blob::FeatureType をご参照ください。
まず key1st でソートし、 key1st で同じ値だった物は key2nd でソートされます。 ソートキーを省略する場合は、key1st にキーを設定し、 key2nd には FVCL::Blob::FeatureType::NONE を指定します。
ソートキーが全て FVCL::Blob::FeatureType::NONE に設定された場合はパラメータエラーとなります。
引数 direct1stdirect2nd は各キーでのソート順(昇順/降順)を決めるパラメータです。 昇順にソートする場合は 0 を、 降順にソートする場合は 1 を指定してください。
引数 blob_numbers は、全て有効ブローブである必要があります。 無効ブローブが含まれていた場合はパラメータエラーとなります。 また、 blob_numbers に格納されたブローブデータのハンドルが、 このオブジェクトが持つハンドルと異なる場合もパラメータエラーとなります。
尚、要素数はソート後も変化しません。
FVCL::Blob::GetSortList ( ::FHANDLE  handle,
INT  key1st,
INT  direct1st,
INT  key2nd,
INT  direct2nd,
INT  key3rd,
INT  direct3rd,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブの特徴量に基づくソーティング

namespace FVCL::Blob

ブローブデータ配列を指定された特徴量に従ってソートします。

引数
[in]handle2値ブローブ解析結果ハンドル
[in]key1st特徴量の種別(最優先ソートキー)
指定可能な値については FVCL::Blob::FeatureType をご参照ください。
[in]direct1st最優先ソートキーのソート順
  • 0: 昇順
  • 1: 降順

[in]key2nd特徴量の種別(第2ソートキー)
指定可能な値については FVCL::Blob::FeatureType をご参照ください。
[in]direct2nd第2ソートキーのソート順
  • 0: 昇順
  • 1: 降順

[in]key3rd特徴量の種別(第3ソートキー) 指定可能な値については FVCL::Blob::FeatureType をご参照ください。
[in]direct3rd第3ソートキーのソート順
  • 0: 昇順
  • 1: 降順

[in,out]blob_numbersブローブ番号配列へのポインタ (1≦要素数)
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_sort_list
解説:
ソート対象の特徴量は、 key1stkey2ndkey3rd にて3番目まで指定することが出来ます。 キーに指定可能な値については FVCL::Blob::FeatureType をご参照ください。
まず key1st でソートし、 key1st で同じ値だった物は key2nd でソートされ、 更に key2nd でも同じだった物は key3rd でソートされます。 ソートキーを省略する場合は、下記のように指定します。
  • ソートキーを1つ指定する場合: key1st にキーを設定し、 key2ndkey3rd には FVCL::Blob::FeatureType::NONE を指定します。
  • ソートキーを2つ指定する場合: key1stkey2nd にキーを設定し、 key3rd には FVCL::Blob::FeatureType::NONE を指定します。

ソートキーが全て FVCL::Blob::FeatureType::NONE に設定された場合はパラメータエラーとなります。
引数 direct1stdirect2nddirect3rd は各キーでのソート順(昇順/降順)を決めるパラメータです。 昇順にソートする場合は 0 を、 降順にソートする場合は 1 を指定してください。
引数 blob_numbers は、全て有効ブローブである必要があります。 無効ブローブが含まれていた場合はパラメータエラーとなります。 また、 blob_numbers に格納されたブローブデータのハンドルが、 このオブジェクトが持つハンドルと異なる場合もパラメータエラーとなります。
尚、要素数はソート後も変化しません。
FVCL::Blob::GetSpecialSortList ( ::FHANDLE  handle,
INT  order,
const FVCL::Data::CFvAngle angle,
FVCL::CFvBuffer< UINT > *  blob_numbers 
)

ブローブの位置情報に基づくソーティング

namespace FVCL::Blob

ブローブデータ配列を2次元座標情報に基づいて並べ替えます。

引数
[in]handle2値ブローブ解析結果ハンドル
[in]order並び替え順
指定可能な値については FVCL::Blob::SortOrder をご参照ください。
[in]angle回転角
[in,out]blob_numbersブローブ番号配列へのポインタ (1≦要素数)
戻り値
正常に処理された場合は FVCL_ErrorCode::_SUCCESS (0) を返します。
失敗した場合は、以下のエラーコードを返します。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数が無効です。
12 FVCL_ErrorCode::INVALID_OBJECT 2値ブローブ解析結果ハンドルが無効です。
必要条件:
ヘッダー: FVCLbasic.h
FIE:
fnFIE_measure_specialsort_list
解説:
並べ替えの方向は ordertheta によって決まります。
引数 order には並び順の方向を指定します。 指定可能な値については FVCL::Blob::SortOrder をご参照ください。
measure_specialsort_order.png
引数 theta には order で指定する並び順を任意の角度に傾けるパラメータです。
measure_specialsort_order_theta.png
引数 blob_numbers は、全て有効ブローブである必要があります。 無効ブローブが含まれていた場合はパラメータエラーとなります。 また、 blob_numbers に格納されたブローブデータのハンドルが、 このオブジェクトが持つハンドルと異なる場合もパラメータエラーとなります。
尚、要素数はソート後も変化しません。

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