cvmSetとcvmGetの不思議

openCVの行列演算について.
行列の各要素に間接アクセスする時は表題の2つの関数を使うが,どうも変数型が32Fか64F以外だとabortされるようになってる.以下cvmGetのようす.

opencv\cscore\include\cstypes.h 645行目〜

CV_INLINE  double  cvmGet( const CvMat* mat, int row, int col )
{
    int type;

    type = CV_MAT_TYPE(mat->type);
    assert( (unsigned)row < (unsigned)mat->rows &&
            (unsigned)col < (unsigned)mat->cols );

    if( type == CV_32FC1 )
        return ((float*)(mat->data.ptr + (size_t)mat->step*row))[col];
    else
    {
        assert( type == CV_64FC1 );
        return ((double*)(mat->data.ptr + (size_t)mat->step*row))[col];
    }
}

cvmSetもほぼ同じ.なんでじゃ.これでは整数が報われない…!
とりあえず,すごい見落としもある気がするが,直接アクセスすることに.


参考
http://wiki.livedoor.jp/mikk_ni3_92/d/OpenCV::%B4%F0%CB%DC%CA%D408