본문 바로가기

컴퓨터 과학 & 영상처리 관련/영상처리

전체 영상 중 ROI만 따로 픽셀 값 복사 할 때

 

 

 

 

 

 

 

 


 //그레이 영상 중 얼굴 ROI만 따로 BYTE배열에 저장함
 BYTE* Retinex_IMG = new BYTE[faceRegion.width * faceRegion.height];

//전체 영상중 얼굴 ROI 픽셀만 복사
 for ( int i=0; i<faceRegion.height; i++)
 for (int j=0; j<faceRegion.width; j++)
  Retinex_IMG[i*faceRegion.width+j] =
  (BYTE)InputGrayIMG->imageData[(faceRegion.y + i)*InputGrayIMG->width+ faceRegion.x+j];     


//연산 후


//다시 얼굴을 전체 영상으로..이 경우는 gray를 컬러로 복사한거지만..암튼
 for ( int i=0; i<faceRegion.height; i++)
 for (int j=0; j<faceRegion.width; j++)
  for(int rgbColor = 0 ; rgbColor < 3; rgbColor++)
   dst->imageData[row + column + rgbColor] =
    char)Retinex_IMG[i*faceRegion.width + j];

 

 

 for(int i = 0 ; i < height ; i++)
 {
  int faceRow = i * width * 3;
  int row = (faceROI.y + i) * src->width * 3;

  for(int j = 0 ; j < width ; j++)
  {
   int column = (faceROI.x + j) * 3;
   int faceColumn = j * 3;

   dst->imageData[faceRow + faceColumn + 0] = src->imageData[row + column + 0];
   dst->imageData[faceRow + faceColumn + 1] = src->imageData[row + column + 1];
   dst->imageData[faceRow + faceColumn + 2] = src->imageData[row + column + 2];
  }
 }