91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.51MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-13
  • 語言: 其他
  • 標簽: kinect??Qt??

資源簡介

COpenNI這個類主要是初始化kinect設備,并獲取深度圖像和顏色圖像,參加上一篇博客的初始化過程步驟,如果遇到錯誤,則有相應的錯誤處理過程。CKinectReader類是將COpenNI這個類讀取到的結果顯示在Qt的界面上的。因此一個類是負責與硬件Kinect打交道,一個類是負責與人(界面顯示)打交道的。具體的過程見上篇文章的分析和后面的代碼。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?“copenni.cpp“??//要包含cpp文件,不能直接包含類
#include?

using?namespace?std;

class?CKinectReader:?public?Qobject
{
public:
????//構造函數用構造函數中的變量給類的私有成員賦值
????CKinectReader(COpenNI?&openni?QGraphicsScene?&scene)?:?openni(openni)?scene(scene)?{
????????test?=?0.0;
????}
????~CKinectReader()?{
????????scene.removeItem(image_item);
????????scene.removeItem(depth_item);
????????delete?[]?p_depth_argb;
????}
????bool?Start(int?interval?=?33)?{
????????openni.Start();//因為在調用CKinectReader這個類的之前會初始化好的所以這里直接調用Start了
????????image_item?=?scene.addPixmap(QPixmap());
????????image_item->setZValue(1);
????????depth_item?=?scene.addPixmap(QPixmap());
????????depth_item->setZValue(2);
????????openni.UpdateData();
????????p_depth_argb?=?new?uchar[4*openni.depth_metadata.XRes()*openni.depth_metadata.YRes()];
????????startTimer(interval);//這里是繼承Qobject類,因此可以調用該函數
????????return?true;
????}
????float?test?;
private:
????COpenNI?&openni;????//定義引用同時沒有初始化因為在構造函數的時候用冒號來初始化
????QGraphicsScene?&scene;
????QGraphicsPixmapItem?*image_item;
????QGraphicsPixmapItem?*depth_item;
????uchar?*p_depth_argb;

private:
????void?timerEvent(QTimerEvent?*)?{

????????openni.UpdateData();
????????//這里使用const,是因為右邊的函數返回的值就是const類型的
????????const?XnDepthPixel?*p_depth_pixpel?=?openni.depth_metadata.Data();
????????unsigned?int?size?=?openni.depth_metadata.XRes()*openni.depth_metadata.YRes();

????????//找深度最大值點
????????XnDepthPixel?max_depth?=?*p_depth_pixpel;
????????for(unsigned?int?i?=?1;?i?????????????if(p_depth_pixpel[i]?>?max_depth?)
????????????????max_depth?=?p_depth_pixpel[i];
????????test?=?max_depth;

????????//將深度圖像格式歸一化到0~255
????????int?idx?=?0;
????????for(unsigned?int?i?=?1;?i?????????????//一定要使用1.0f相乘,轉換成float類型,否則該工程的結果會有錯誤因為這個要么是0,要么是1,0的概率要大很多
????????????float?fscale?=?1.0f*(*p_depth_pixpel)/max_depth;
????????????if((*p_depth_pixpel)?!=?0)?{
????????????????p_depth_argb[idx++]?=?255*(1-fscale);????//藍色分量
????????????????p_depth_argb[idx++]?=?0;?//綠色分量
????????????????p_depth_argb[idx++]?=?255*fscale;???//紅色分量,越遠越紅
????????????????p_depth_argb[idx++]?=?255*(1-fscale);?//距離越近,越不透明
????????????}
????????????else?{
????????????????p_depth_argb[idx++]?=?0;
????????????????p_depth_argb[idx++]?=?0;
????????????????p_depth_argb[idx++]?=?0;
????????????????p_depth_argb[idx++]?=?255;
????????????}
????????????++p_depth_pixpel;//此處的++p_depth_pixpel和p_depth_pixpel++是一樣的
????????}
????????//往item中設置圖像色彩數據
????????image_item->setPixmap(QPixmap::fromImage(
??????????????????????????????QImage(openni.image_metadata.Data()?openni.image_metadata.XRes()?openni.image_metadata.YRes()
??????????????????????????????QImage::Format_RGB888)));
????????//往item中設置深度數據
????????depth_item->setPixmap(QPixmap::fromImage(
??????????????????????????????QImage(p_depth_argb?openni.depth_metadata.XRes()?openni.depth_meta

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????326178??2012-09-29?09:47??Kinect+OpenNI學習筆記之3(獲取kinect的數據并在Qt中顯示的類的設計).pdf

?????文件???????3325??2012-09-29?09:21??copenni\ckinectreader.cpp

?????文件???????2132??2012-09-29?09:01??copenni\copenni.cpp

?????文件????????274??2012-09-28?14:39??copenni\copenni.pro

?????文件??????17538??2012-09-29?09:49??copenni\copenni.pro.user

?????文件?????142455??2012-09-29?09:21??copenni\debug\ckinectreader.obj

?????文件??????49664??2012-09-29?09:21??copenni\debug\copenni.exe

?????文件?????576700??2012-09-29?09:21??copenni\debug\copenni.ilk

?????文件????????638??2012-09-29?09:21??copenni\debug\copenni.intermediate.manifest

?????文件?????142307??2012-09-29?09:21??copenni\debug\copenni.obj

?????文件????2477056??2012-09-29?09:21??copenni\debug\copenni.pdb

?????文件???????2030??2012-09-28?14:38??copenni\debug\copnni.obj

?????文件?????230439??2012-09-29?09:21??copenni\debug\main.obj

?????文件????????533??2012-09-29?08:53??copenni\main.cpp

?????文件???????7083??2012-09-28?15:10??copenni\Makefile

?????文件???????6015??2012-09-28?15:10??copenni\Makefile.Debug

?????文件???????6023??2012-09-28?15:10??copenni\Makefile.Release

?????文件????1970176??2012-09-29?09:21??copenni\vc100.pdb

?????目錄??????????0??2012-09-29?09:49??copenni\debug

?????目錄??????????0??2012-09-29?09:49??copenni\release

?????目錄??????????0??2012-09-29?09:49??copenni

-----------?---------??----------?-----??----

??????????????5960566????????????????????21


評論

共有 條評論