1

マトリックスをチャネルから3列の単一チャネルマトリックスに再形成するopencvコードを書いています。

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