分享

Opencv矩阵的访问(通过指针

 absolutely113 2013-07-19
指针

mat.data.ptr 
把数据块切分成一个一个的字节,方便转换
Opencv矩阵的访问(通过指针)

 
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"


int main(int argc, char* argv[])
{
                 //数?y据Y
        float data[18] =
        {
        30,60,40,60, 50,40,
        67,88,55,33, 22,97,
        59,69,32,46, 25,45
        };
                
                CvMat mat;
                 //cvInitMatHeader(&mat,3,6,CV_32FC1,data);
                cvInitMatHeader(&mat,3,3,CV_32FC2,data);

                 int y=2,x=3;
                 int nChannels = 2;
                
                 for (y=0;y<mat.rows;y++)
                {

                                 float * p_float = (float *)(mat.data.ptr + y*mat.step);

                                 for (x=0;x<mat.cols;x++)
                                {
                                                 //float value = *(p_float+x);
                                                 //printf("(%f ) ",value);

                                                 float value[2];
                                                value[0] = *(p_float+x*nChannels);
                                                value[1] = *(p_float+x*nChannels+1);

                                                printf( "(%f %f) " ,value[0],value[1]);
                                }
                                printf( "\n" );
                }


                 return 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多