BMP 转Iplimage
【摘要】
/*
* 功能:BYTE组转IplImage,并可实现图像的上下倒置
*入参:pImg,BYTE数组指针。byteSize BYTE数组大小,width图像宽,height图像高
*返回:转化后的IplImage指针
*/
IplImage * Byte2IplImg( BYTE *pImg,long byteSize...
/*
* 功能: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;
//
}
* 功能: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;
//
}
文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。
原文链接:zzzili.blog.csdn.net/article/details/8265418
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)