原图像检测人脸区域,在将人脸区域赋值给一个使用cvCreateImage函数创建的图像时出现了问题。
问题图像如上图所示,原代码如下所示:
CvSize tmpSize;
tmpSize.width = width;
tmpSize.height = height;
IplImage *tmpImg = cvCreateImage(tmpSize, IPL_DEPTH_8U, 1);
int m = startY;
for(int i=0; i<height; i++)
{
int n = startX;
//int widthStep = tmpImg->widthStep;
for(int j=0; j<width; j++)
{
*(tmpImg->imageData + i*width + j) =
*(image->imageData + m*image->width + n);
n++;
}
m++;
}
由于IplImage->width这个变量并不是经过4字节对