资源简介
Kinectv2的各种图像数据在MFC平台上的显示,这里包括骨骼数据、深度数据等等,其他的像IR图像和RGB 图像也是类似的,比较简单,有问题欢迎留言讨论。Kinect系列博客地址http://blog.csdn.net/baolinq/article/details/52401116

代码片段和文件信息
#include “StdAfx.h“
#include “CvvImage.h“
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CV_INLINE RECT NormalizeRect(RECT r);
CV_INLINE RECT NormalizeRect(RECT r)
{
int t;
if (r.left > r.right)
{
t = r.left;
r.left = r.right;
r.right = t;
}
if (r.top > r.bottom)
{
t = r.top;
r.top = r.bottom;
r.bottom = t;
}
return r;
}
CV_INLINE CvRect RectToCvRect(RECT sr);
CV_INLINE CvRect RectToCvRect(RECT sr)
{
sr = NormalizeRect(sr);
return cvRect(sr.left sr.top sr.right - sr.left sr.bottom - sr.top);
}
CV_INLINE RECT CvRectToRect(CvRect sr);
CV_INLINE RECT CvRectToRect(CvRect sr)
{
RECT dr;
dr.left = sr.x;
dr.top = sr.y;
dr.right = sr.x + sr.width;
dr.bottom = sr.y + sr.height;
return dr;
}
CV_INLINE IplROI RectToROI(RECT r);
CV_INLINE IplROI RectToROI(RECT r)
{
IplROI roi;
r = NormalizeRect(r);
roi.xOffset = r.left;
roi.yOffset = r.top;
roi.width = r.right - r.left;
roi.height = r.bottom - r.top;
roi.coi = 0;
return roi;
}
void FillBitmapInfo(BITMAPINFO* bmi int width int height int bpp int origin)
{
assert(bmi && width >= 0 && height >= 0 && (bpp == 8 || bpp == 24 || bpp == 32));
BITMAPINFOHEADER* bmih = &(bmi->bmiHeader);
memset(bmih 0 sizeof(*bmih));
bmih->biSize = sizeof(BITMAPINFOHEADER);
bmih->biWidth = width;
bmih->biHeight = origin ? abs(height) : -abs(height);
bmih->biPlanes = 1;
bmih->biBitCount = (unsigned short)bpp;
bmih->biCompression = BI_RGB;
if (bpp == 8)
{
RGBQUAD* palette = bmi->bmiColors;
int i;
for (i = 0; i < 256; i++)
{
palette[i].rgbBlue = palette[i].rgbGreen = palette[i].rgbRed = (BYTE)i;
palette[i].rgbReserved = 0;
}
}
}
CvvImage::CvvImage()
{
m_img = 0;
}
void CvvImage::Destroy()
{
cvReleaseImage(&m_img);
}
CvvImage::~CvvImage()
{
Destroy();
}
bool CvvImage::Create(int w int h int bpp int origin)
{
const unsigned max_img_size = 10000;
if ((bpp != 8 && bpp != 24 && bpp != 32) ||
(unsigned)w >= max_img_size || (unsigned)h >= max_img_size ||
(origin != IPL_ORIGIN_TL && origin != IPL_ORIGIN_BL))
{
assert(0); // most probably it is a programming error
return false;
}
if (!m_img || Bpp() != bpp || m_img->width != w || m_img->height != h)
{
if (m_img && m_img->nSize == sizeof(IplImage))
Destroy();
/* prepare IPL header */
m_img = cvCreateImage(cvSize(w h) IPL_DEPTH_8U bpp / 8);
}
if (m_img)
m_img->origin = origin == 0 ? IPL_ORIGIN_TL : IPL_ORIGIN_BL;
return m_img != 0;
}
void CvvImage::CopyOf(CvvImage& image int desired_color)
{
IplImage* img = image.GetImage();
if (img)
{
CopyOf(img desired_color);
}
}
#define HG_IS_IMAGE(img) \
((img) != 0 && ((const IplImage*)(img))->nSize == sizeof(IplImage) && \
((IplImage*)img)->imageData != 0)
void CvvImage::C
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 121496 2012-04-09 20:57 Kinectv2 __MFC\1.jpg
文件 6463 2016-03-28 10:27 Kinectv2 __MFC\CvvImage.cpp
文件 2001 2016-03-28 09:58 Kinectv2 __MFC\CvvImage.h
文件 2304 2016-09-05 15:47 Kinectv2 __MFC\Debug\MFC_DEMO01.Build.CppClean.log
文件 94 2016-09-05 15:47 Kinectv2 __MFC\Debug\MFC_DEMO01.log
文件 92588 2016-09-05 15:35 Kinectv2 __MFC\MFC_DEMO01.APS
文件 2426 2016-03-28 09:33 Kinectv2 __MFC\MFC_DEMO01.cpp
文件 467 2016-03-28 09:33 Kinectv2 __MFC\MFC_DEMO01.h
文件 12938 2016-04-04 16:29 Kinectv2 __MFC\MFC_DEMO01.rc
文件 6450 2016-09-05 15:47 Kinectv2 __MFC\MFC_DEMO01.vcxproj
文件 2537 2016-04-02 15:03 Kinectv2 __MFC\MFC_DEMO01.vcxproj.filters
文件 165 2016-04-01 14:56 Kinectv2 __MFC\MFC_DEMO01.vcxproj.user
文件 7809 2016-09-05 15:47 Kinectv2 __MFC\MFC_DEMO01Dlg.cpp
文件 1350 2016-04-04 16:29 Kinectv2 __MFC\MFC_DEMO01Dlg.h
文件 14662 2016-09-05 15:47 Kinectv2 __MFC\Mykinect.cpp
文件 1575 2016-09-05 15:47 Kinectv2 __MFC\Mykinect.h
文件 4093 2016-03-28 09:33 Kinectv2 __MFC\ReadMe.txt
文件 67777 2013-07-22 01:18 Kinectv2 __MFC\res\MFC_DEMO01.ico
文件 676 2016-03-28 09:33 Kinectv2 __MFC\res\MFC_DEMO01.rc2
文件 2986 2016-04-04 16:28 Kinectv2 __MFC\resource.h
文件 1294 2016-04-02 15:03 Kinectv2 __MFC\SelectFolderDlg.h
文件 143 2016-03-28 09:33 Kinectv2 __MFC\stdafx.cpp
文件 1601 2016-04-01 21:42 Kinectv2 __MFC\stdafx.h
文件 234 2016-03-28 09:33 Kinectv2 __MFC\targetver.h
目录 0 2016-09-05 15:47 Kinectv2 __MFC\Debug\MFC_DEMO01.tlog
目录 0 2016-09-05 22:13 Kinectv2 __MFC\Debug
目录 0 2016-09-05 22:13 Kinectv2 __MFC\res
目录 0 2016-09-05 22:13 Kinectv2 __MFC
----------- --------- ---------- ----- ----
354129 28
............此处省略1个文件信息
- 上一篇:C语言中文分词源代码
- 下一篇:SDL入门教程
相关资源
- 基于MFC的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- 仿射密码-Affine cipher
- c++MFC车牌自动识别定位,只能定位和
- mfc+sql 酒店客房管理系统
- 基于图割的图像分割OpenCV+MFC实现
- MFC绘制Bezier曲线B样条曲线曲线拟合
评论
共有 条评论