copier une partie de l'image avec openCv c ++

Je suis en utilisant opencv et je veux créer une image à partir d'une partie d'une image.

Je n'ai pas trouvé une fonction qui fais que j'ai donc essayer de mettre en œuvre mon Idée qui se composent de la copie de l'image pixel par pixel mais en vain je n'ai pas obtenu le résultat que je suis en attente pour les.

Quelqu'un a une autre Idée

Code:

#include "cv.h"
#include "highgui.h"
#include <stdlib.h>
#include <stdio.h>
#include <iostream>

int main(int argc,char** argv) {
  IplImage * img =0;

  uchar *data;
  int i,j,k;
  int height,width,widthStep,nChannels;
  img=cvLoadImage(argv[1],3);
  height =img->height;
  width = img->width;
  widthStep= img->widthStep;
  nChannels = img->nChannels;
  data=(uchar*)img->imageData;
  IplImage* img1=cvCreateImage(cvSize(height/2,width/2),IPL_DEPTH_8U,nChannels);
  for(i=0;i<height/2;i++){
    for(j=0;j<width/2;j++){
      for(k=0;k<3;k++){
        img1->imageData[i*widthStep+j*nChannels]=data[i*widthStep+j*nChannels];
      }
    }
  }
  cvShowImage("image_Originale2",img1);
  cvWaitKey(0);
  cvReleaseImage(&img);
  return 0;
}

source d'informationauteur Wadii Slatnia