1

我正在编写一个 opencv 代码来将我的矩阵从通道重塑为具有 3 列的单通道矩阵。

uchar* ptrimage=(uchar*)image->imageData;
    uchar* ptrZ=(uchar*)Z->imageData;

    for (int i=0;i<image->height;i++)
    {
        for(int j=0;j<image->width;j++)
        {

            for(int k=0;k<image->nChannels;k++)
            {
                cout<<i<<" "<<j<<" "<<" "<<k<<endl;
                (ptrZ+(j+i*image->width)*Z->widthStep)[k]=(ptrimage+i*image->widthStep)[3*j+k];

            }

        }

Z 是我想要得到的新矩阵,其高度为 image->width*imgae->height 且宽度为 3。这在 j 的 7-8 次迭代后中断。请你帮我找出错误。

4

0 回答 0