OPENCV Show IplImage on MFC Window
2016-04-08 00:00
465 查看
/*********************************************** *功能:在当前窗口中显示IplImage的图像 *输入参数:src 指向图片的指针 *输出参数:无 *返回值:无 *作者:张建成 ***********************************************/ void ShowImage(IplImage *src) { if(src->nChannels==3)// color { TheImage=cvCloneImage(src); IplImage *TheImage = src; CvSize ImgSize; ImgSize.width = TheImage->width; ImgSize.height = TheImage->height; CClientDC dc(this); CDC * pDC = &dc; int res = StretchDIBits(pDC->GetSafeHdc(), 0, 0,int(TheImage->width),int(TheImage->height), 0, 0, TheImage->width, TheImage->height, TheImage->imageData, (BITMAPINFO*)bmi, DIB_RGB_COLORS,SRCCOPY); } else { if(src->nChannels==1)// gray { IplImage *grayImg=cvCreateImage(cvSize(src->width,src->height),IPL_DEPTH_8U,3); IplImage * planes[3] ={0,0,0}; for(int i=0;i<3;i++) { planes[i] = cvCreateImage(cvSize(src->width,src->height),8,1); (planes[i]->imageData)= (src->imageData); } cvCvtPlaneToPix(planes[0],planes[1],planes[2],0,grayImg); IplImage * TheImage=cvCloneImage(grayImg); CvSize ImgSize; ImgSize.width = TheImage->width; ImgSize.height = TheImage->height; CClientDC dc(this); CDC * pDC = &dc; int res = StretchDIBits(pDC->GetSafeHdc(),0,0,int(TheImage->width),int(TheImage->height), 0,0,TheImage->width,TheImage->height,TheImage->imageData, (BITMAPINFO*)bmi,DIB_RGB_COLORS,SRCCOPY); } } }
相关文章推荐
- OpenCV函数cv2DRotationMatrix实现图像旋转
- OpenCV读视频文件和运动问题检测
- OpenCV图像处理形态学操作腐蚀Erode与膨胀Dilate
- OpenCV单kinect多帧静止场景的深度图像去噪
- Linux下查看内存使用情况方法总结
- 打开Linux ftp服务,如:vsftpd: unrecognized service
- Linux各目录作用
- SElinux简介
- AOP应用案例-异常处理
- 网站收集ing....
- 网站收集ing....
- SparkR运行时错误:Re-using existing Spark Context. Please stop SparkR with sparkR.stop() or restart R to c
- SparkR读取CSV格式文件错误java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.spark.u
- 第七周linux内核分析
- 【solr】 solr 5.4.1 和tomcat 基础环境搭建
- Linux大神们 你们任重而道远
- linux命令记录
- 在CentOS上安装Java环境:[1]使用yum安装java
- shell脚本实现文件锁功能
- linux awk命令详解