Frank_GIS 2015-04-19 06:48 采纳率: 25%
浏览 2219

OPENCV中的cvmGet和cvmSet就真的没法用来处理8UC1的数据吗?

有什么好的解决办法么?曾经仿照cvmGet写过,可是在处理行列数较大的矩阵时就会出错,还找不到错误原因
不懂原理乱写的。。。
unsigned readmat( 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 if(type == CV_64FC1 )
{
    assert( type == CV_64FC1 );
    return ((double*)(mat->data.ptr + (size_t)mat->step*row))[col];
}
else
{
    return (((unsigned*)(mat->data.ptr + (size_t)mat->step*row))[col]);
}

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 python代码,帮调试
    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条