OpenCV, шум при отображении патча пикселей от изображения к изображению - PullRequest
0 голосов
/ 15 февраля 2012

Я копирую патч пикселей из одного изображения в другое, и в результате я не получаю отображение 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++); 
            }
        }
}

1 Ответ

1 голос
/ 15 февраля 2012

Это одноканальное изображение или многоканальное изображение (например, RGB)?Если это многоканальное изображение, вы должны учитывать индекс канала в цикле.

Между прочим: OpenCV поддерживает область интереса (ROI), которая будет удобной для вас, чтобы реализовать копирование подобласти изображения.Ниже ссылка, по которой вы можете найти информацию об использовании ROI в OpenCV.

http://nashruddin.com/OpenCV_Region_of_Interest_(ROI)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...