0

Matrix のクラスがあり、2 つのループでそれにアクセスし、必要な値をすべて格納しました。

Matrix MatriceJ(width, height);
for (int i=0;i<width;i++)
{
    for (int j=0;j<height;j++)
    {
        MatriceJ.at(i,j)=....
    }
}

しかし今、MatriceJ を IplImage* に格納して、そのさまざまな要素を 1 つずつ他の IplImage と乗算できるようにしたいと考えています。

それを手伝ってもらえますか?

4

1 に答える 1

1

これで始められるはずです。データは unsigned char で 1 チャネルであると想定しています。それに応じて調整してください。

// Create the image
int depth = IPL_DEPTH_8U; // please adjust
int channels = 1;         // please adjust
IplImage* img = cvCreateImage(cvSize(width,height), depth, channels);

// Now assume there is a matrix MatriceJ
// Copy the data to our newly created IplImage*
for (int i=0;i<height;i++)
{
    uchar* ptr = (uchar*)(img->imageData + i*img->widthStep);
    for (int j=0;j<width;j++)
    {
        ptr[j] = MatriceJ(i,j);
    }
}
于 2013-03-14T15:24:16.940 に答える