BMP 转Iplimage

/*
* 功能:BYTE组转IplImage,并可实现图像的上下倒置
*入参:pImg,BYTE数组指针。byteSize BYTE数组大小,width图像宽,height图像高
*返回:转化后的IplImage指针
*/

IplImage * Byte2IplImg( BYTE *pImg,long byteSize,int width,int height)
{
////////////////////正常转化
  IplImage *frame =0;
  IplImage *ds_frame;
     int stride  = (width * sizeof( RGBTRIPLE ) + 3) & -4;
  ds_frame=cvCreateImageHeader(cvSize(width,height),IPL_DEPTH_8U,3);
    cvSetData(ds_frame,pImg,stride);
  return ds_frame;
//////////////////////////////
////////////////////转化并倒置
//  IplImage *frame =0;
//  IplImage *ds_frame;
//  int stride  = (width * sizeof( RGBTRIPLE ) + 3) & -4;
//  ds_frame=cvCreateImageHeader(cvSize(width,height),IPL_DEPTH_8U,3);
//  cvSetData(ds_frame,pImg,stride);
//  frame=ds_frame;
//  ///////////////////////////////////
//  IplImage *dst =0;
//  dst = cvCloneImage (frame);
//  int count=0;
//  float m[6];
//  CvMat M = cvMat (2, 3, CV_32F, m);
//  int w = frame->width;
//  int h = frame->height;
//  m[0] = (float) (cos (-90 * 2 * CV_PI / 180.));
//  m[1] = (float) (sin (-90 * 2 * CV_PI / 180.));
//  m[3] = -m[1];
//  m[4] = m[0];
//  m[2] = w * 0.5f;
//  m[5] = h * 0.5f;
//  cvZero (dst);
//  cvGetQuadrangleSubPix (frame, dst, &M);  
//  return dst;   
//////////////////////////////////////////////
}
posted @ 2012-12-06 15:28  废弃账号  阅读(132)  评论(0编辑  收藏  举报