opencv中cvSetData用法

#include "stdafx.h"
#include "opencv2/opencv.hpp"

int _tmain(int argc, _TCHAR* argv[])
{
 char * filename = "2.jpg";
 int x = 300;
 int y = 200;
 IplImage* src = cvLoadImage("2.jpg",CV_LOAD_IMAGE_GRAYSCALE);
 IplImage* part = cvCreateImageHeader(cvSize(200,200),src->depth,src->nChannels);
 uchar* ptr = (uchar*)(src->imageData + x*sizeof(uchar) + y*src->widthStep);  //得到图像中像素点(300,200)的指针
 cvSetData(part,ptr,src->widthStep);     //图像part就为原图像的(300,200,300+200,200+200)部分
 cvShowImage("src",src);
 cvShowImage("partial",part);
 cvReleaseImage(&src);
 cvWaitKey(0);
 return 0;
}

//cvSetData的第一个参数是目标图像头,比如像这里的part;第二个参数是要复制的源图像数据的位置;第三个参数是源图像的行长度

//下面是这个程序的运行结果

原文地址:https://www.cnblogs.com/xibao/p/3211779.html