博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBITMAP to IplImage(转)
阅读量:5782 次
发布时间:2019-06-18

本文共 1467 字,大约阅读时间需要 4 分钟。

HBITMAP to IplImage - -

                                      

IplImage* hBitmap2Ipl(HBITMAP hBmp)

{
BITMAP bmp;
::GetObject(hBmp,sizeof(BITMAP),&bmp);
int nChannels = bmp.bmBitsPixel == 1 ? 1 : bmp.bmBitsPixel/8 ;
int depth = bmp.bmBitsPixel == 1 ? IPL_DEPTH_1U : IPL_DEPTH_8U;
IplImage* img = cvCreateImageHeader( cvSize(bmp.bmWidth, bmp.bmHeight)
, depth, nChannels );
img->imageData =
(char*)malloc(bmp.bmHeight*bmp.bmWidth*nChannels*sizeof(char));
memcpy(img->imageData,(char*)(bmp.bmBits),bmp.bmHeight*bmp.bmWidth*nChannels);
return img;
}

void createDIB(IplImage* &pict){

IplImage * Red=cvCreateImage( cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),
IPL_DEPTH_8U, 1 );
IplImage * Green=cvCreateImage( cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),
IPL_DEPTH_8U, 1 );
IplImage * Blue=cvCreateImage( cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),
IPL_DEPTH_8U, 1 );
cvSetImageCOI( pict, 3);
cvCopy(pict,Red);
cvSetImageCOI( pict, 2);
cvCopy(pict,Green);
cvSetImageCOI(pict, 1);
cvCopy(pict,Blue);
//Initialize the BMP display buffer
bmi = (BITMAPINFO*)buffer;
bmih = &(bmi->bmiHeader);
memset( bmih, 0, sizeof(*bmih));
bmih->biSize = sizeof(BITMAPINFOHEADER);
bmih->biWidth = IMAGE_WIDTH;
bmih->biHeight = IMAGE_HEIGHT; // -IMAGE_HEIGHT;
bmih->biPlanes = 1;
bmih->biCompression = BI_RGB;
bmih->biBitCount = 24;
palette = bmi->bmiColors;
for( int i = 0; i < 256; i++ ){
palette[i].rgbBlue = palette[i].rgbGreen = palette[i].rgbRed =
(BYTE)i;
palette[i].rgbReserved = 0;
}
cvReleaseImage(&Red);
cvReleaseImage(&Green);
cvReleaseImage(&Blue);
}

转载地址:http://krcyx.baihongyu.com/

你可能感兴趣的文章
grep 命令
查看>>
JS二维数组的声明和使用
查看>>
v$archive_gap dg dataguard 断档处理 scn恢复
查看>>
问责IT风险管理:CIO需关注两个重点
查看>>
Winform打包发布图解
查看>>
PDF文件怎么编辑,超简单的方法
查看>>
c#如何使用webservice、存储过程及存储过程的创建(简单模仿类似QQ统计用户在线时间为例)...
查看>>
云路由 vyatta 体验(一)基本设置
查看>>
Linux***检测基础学习
查看>>
Windows上的原生Linux容器(盆盆的Kubecon课程分享)
查看>>
IDC房部署服务器的那点事
查看>>
二、OpenStack基础操作系统配置
查看>>
bootstrap+flask写登录页面
查看>>
追随你心 —— 聊聊VMCloud
查看>>
CCID: 2015-2016年度中国信息安全产品市场研究年度报告
查看>>
自动化部署工具PUPPET介绍
查看>>
SecureWorks推出第三方SIEM管理服务
查看>>
【VMCloud云平台】私有云门户第一朵VM云(四)
查看>>
关于网络空间情报、威胁情报的一些定义
查看>>
Lync 小技巧-23-企业版与标准版-安装-对比
查看>>