CXCORE リファレンス マニュアル
最終変更者: 怡土順一, 最終変更リビジョン: 448, 最終変更日時: 2008-12-24 00:28:23 +0900 (水, 24 12月 2008)
- 基本構造体(Basic Structures)
- 配列操作(Operations on Arrays)
- 動的構造体(Dynamic Structures)
- 描画関数(Drawing Functions)
- データ永続性と実行時型情報(Data Persistence and RTTI)
- その他の関数(Miscellaneous Functions)
- エラーハンドリングとシステム関数(Error Handling and System Functions)
配列操作(Operations on Arrays)
コピーと充填(Copying and Filling)
Copy
一つの配列を別の配列にコピーする
void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );
- src
- コピー元の配列.
- dst
- コピー先の配列.
- mask
- 8 ビットシングルチャンネル配列の処理マスク.コピー先の配列の変更する要素を指定する.
関数 cvCopy は,入力配列から出力配列に選択された要素をコピーする.
mask(I)!=0 の場合,dst(I)=src(I)
引数の配列が IplImage 型の場合,その ROI と COI が利用される. コピー元配列とコピー先配列は,同じ型,同じ次元,同じサイズでなければならない.この関数は,疎な配列もコピーできる(この場合,マスクはサポートされない).
Set
配列の各要素に与えられた値をセットする
void cvSet( CvArr* arr, CvScalar value, const CvArr* mask=NULL );
- arr
- 値をセットする配列.
- value
- 配列を埋める値.
- mask
- 8 ビットシングルチャンネル配列の処理マスク.配列の変更する要素を指定する.
関数 cvSet は,スカラー値 value を,配列の選択された各要素にコピーする.
mask(I)!=0 の場合,arr(I)=value
配列 arr が IplImage 型の場合, ROI は利用されるが,COI がセットされていてはならない.
SetZero
配列をクリアする
void cvSetZero( CvArr* arr );
#define cvZero cvSetZero
- arr
- クリアされる配列.
関数 cvSetZero は,配列をクリアする. 密な配列(CvMat, CvMatND, IplImage)に対する cvZero(array) は,cvSet(array,cvScalarAll(0),0) と等価である. 疎な配列の場合は,全ての要素が削除される.
SetIdentity
スカラー倍された単位行列を用いて初期化を行う
void cvSetIdentity( CvArr* mat, CvScalar value=cvRealScalar );
- arr
- 初期化される行列(正方である必要はない).
- value
- 対角成分の値.
関数 cvSetIdentity は,スカラー倍された単位行列を用いた初期化を行う.
i=j ならば, arr(i,j)=value そうでなければ, 0
Range
与えられた範囲の数で行列を埋める
void cvRange( CvArr* mat, double start, double end );
- mat
- 初期化される行列.これは,整数型あるいは浮動小数点型 32 ビットシングルチャンネルでなくてはならない.
- start
- 範囲の下限(範囲に含まれる).
- end
- 範囲の上限(範囲に含まれない).
関数 cvRange は,次のように行列を初期化する.
arr(i,j)=(end-start)*(i*cols(arr)+j)/(cols(arr)*rows(arr))例えば,以下のコードは連続した整数の1次元ベクトルを初期化する.
CvMat* A = cvCreateMat( 1, 10, CV_32S ); cvRange( A, 0, A->cols ); // A は,[0,1,2,3,4,5,6,7,8,9] で初期化される.