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;第二個參數是要復制的源圖像數據的位置;第三個參數是源圖像的行長度

//下面是這個程序的運行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM