0

ある画像から別の画像にピクセルのパッチをコピーしているため、1:1のマッピングは得られませんが、新しい画像の強度は、ソース画像と1〜2の強度レベルで異なります。

何がこれを引き起こしているのか知っていますか?

これはコードです:

void templateCut ( IplImage* ptr2Img, IplImage* tempCut, CvBox2D* boundingBox ) 
{ 

/* Upper left corner of target's BB */
int col1 = (int)boundingBox->center.x;
int row1 = (int)boundingBox->center.y;

for(int i=0; i<tempCut->height; i++)
        {       
        /* Pointer to a row */
            uchar * ptrImgBB = (uchar*)( ptr2Img->imageData + (row1+i)*ptr2Img->widthStep + col1 );
            uchar * ptrTemp  = (uchar*)( tempCut->imageData + i*tempCut->widthStep );

            for(int i2=0; i2<tempCut->width; i2++)
            {
                *ptrTemp++ = (*ptrImgBB++); 
            }
        }
}
4

1 に答える 1

1

単一チャンネル画像ですか、それとも複数チャンネル画像 (RGB など) ですか? 複数チャンネルの画像の場合は、ループ内のチャンネル インデックスを考慮する必要があります。

ところで: OpenCV は、画像のサブ領域のコピーを実装するのに便利な関心領域 (ROI) をサポートしています。以下は、OpenCV での ROI の使用に関する情報を見つけることができるリンクです。

http://nashruddin.com/OpenCV_Region_of_Interest_(ROI)
于 2012-02-15T12:36:27.433 に答える