日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VTK:VTK嵌入MFC成功

發(fā)布時間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VTK:VTK嵌入MFC成功 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????????? VTK作為醫(yī)學顯示庫,得到較多使用。作為較為上層的設計,對OpenGL進行了封裝,并且有Windows、Linux、安卓等開發(fā)版本,可移植性較強。

????????? 不過VES暫時沒有編譯成功。

????????? 以下是嵌入MFC-IDC代碼,有個缺陷,暫時沒能修改。

代碼:

showPointsInVtk(short* &depthImage, int HeightDepth, int WidthDepth,int IDCX) {//double arr[3];vtkPoints * points = vtkPoints::New();int n = 0; int idx = 0; int Length = 3 * HeightDepth*WidthDepth;//首先讀取點云數(shù)據(jù)到點表points同時指定點對應的id:for (int i = 0; i < HeightDepth; ++i){int LastPixel = i* WidthDepth;for (int j = 0; j < WidthDepth; ++j){int y = depthImage[3 * (j + LastPixel)];int x = depthImage[3 * (j + LastPixel) +1];int z = depthImage[3 * (j + LastPixel) +2];points->InsertPoint(n, x, y, z);n++;}}printf("%d\n", n);vtkPolyVertex * polyvertex = vtkPolyVertex::New();polyvertex->GetPointIds()->SetNumberOfIds(n);int i = 0; //建立拓撲關系for (i = 0; i < n; i++){polyvertex->GetPointIds()->SetId(i, i);}vtkUnstructuredGrid * grid = vtkUnstructuredGrid::New();grid->SetPoints(points);grid->InsertNextCell(polyvertex->GetCellType(),polyvertex->GetPointIds());vtkDataSetMapper *map1 = vtkDataSetMapper::New();map1->SetInputData(grid);vtkActor *actor1 = vtkActor::New();actor1->SetMapper(map1);actor1->GetProperty()->SetColor(0.194, 0.562, 0.75);vtkRenderer *ren = vtkRenderer::New();ren->AddActor(actor1);ren->SetBackground(0, 0, 0);//renWin和iren分別是vtkWin32OpenGLRenderWindow, vtkWin32RenderWindowInteractorvtkWin32RenderWindowInteractor *iren = vtkWin32RenderWindowInteractor::New();vtkWin32OpenGLRenderWindow *win = vtkWin32OpenGLRenderWindow::New();vtkInteractorStyleTrackballCamera *style = vtkInteractorStyleTrackballCamera::New();win->Clean();win->SetSize(480, 360);win->BordersOn();win->AddRenderer(ren);iren->SetRenderWindow(win);iren->SetInteractorStyle(style);//搭上一個顯示用的MFC窗口框架。CWnd *viewer_Wnd;viewer_Wnd = this->GetDlgItem(IDCX); HWND hWnd = (HWND)viewer_Wnd->m_hWnd;HWND hParent = ::GetParent(hWnd);//::ShowWindow(hParent, SW_HIDE);::ShowWindow(hParent, 1);win->SetParentId(this->m_hWnd);iren->Start();map1->Delete();grid->Delete();actor1->Delete();polyvertex->Delete();ren->Delete();win->Delete();iren->Delete();return 1; }

顯示效果:

?


?注意事項:

使用

iren->Start();導致renter不能更行,修改為以下代碼可以完成動態(tài)更新:

把?render和win放在初始對話框初始化,其他代碼修改為:

this->win->Render();

//在 對話框初始化時初始化Render inline int Ciisu2vrMfcsDlg::showPointsInVtkG(short* &depthImage, int HeightDepth, int WidthDepth, int IDCX) {//double arr[3];vtkPoints * points = vtkPoints::New();int n = 0; int idx = 0; int Length = 3 * HeightDepth*WidthDepth;//首先讀取點云數(shù)據(jù)到點表points同時指定點對應的id:for (int i = 0; i < HeightDepth; ++i){int LastPixel = i* WidthDepth;for (int j = 0; j < WidthDepth; ++j){int y = depthImage[3 * (j + LastPixel)];int x = depthImage[3 * (j + LastPixel) + 1];int z = depthImage[3 * (j + LastPixel) + 2];//這里壓縮四倍是比較好的方法//int z = (depthImage[(j + LastPixel)]) ;points->InsertPoint(n, x, y, z);n++;}}vtkPolyVertex * polyvertex = vtkPolyVertex::New();polyvertex->GetPointIds()->SetNumberOfIds(n);int i = 0;//建立拓撲關系for (i = 0; i < n; i++){polyvertex->GetPointIds()->SetId(i, i);}vtkUnstructuredGrid * grid = vtkUnstructuredGrid::New();grid->SetPoints(points);grid->InsertNextCell(polyvertex->GetCellType(),polyvertex->GetPointIds() );vtkDataSetMapper *map = vtkDataSetMapper::New();map->SetInputData(grid);vtkActor *actorG = vtkActor::New();actorG->SetMapper(map);actorG->GetProperty()->SetColor(0.194, 0.562, 0.75);vtkRenderer *ren = vtkRenderer::New();ren->AddActor(actorG);ren->SetBackground(0.13, 0.40, 0.15);this->win->AddRenderer(ren);this->win->Render();//自己寫一個重載-更新函數(shù)!map->Delete();grid->Delete();actorG->Delete();polyvertex->Delete();return 1; }

后記:

??????? 效果還不錯,就是和OpenCV結合時有點麻煩,命名空間沖突。

總結

以上是生活随笔為你收集整理的VTK:VTK嵌入MFC成功的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 他趴在我两腿中间添得好爽在线看 | 黄色片子一级 | 涩涩视频网站在线观看 | 亚洲图片小说视频 | 黄色国产 | 黄色长视频 | 高清无码视频直接看 | 北条麻妃二三区 | 国产精品久久久久久久久久久久久久 | 免费a v网站 | 与子敌伦刺激对白播放的优点 | 91在线观看免费高清完整版在线观看 | 日p视频在线观看 | 久久欧| 性xxxxbbbb| 色com| 91精品免费在线 | 成人精品动漫 | 成人依人 | 狠狠干2024| 久草加勒比 | 五月婷婷社区 | 69色视频 | 午夜免费福利视频 | 本站只有精品 | 日本伦理一区二区三区 | 超碰人人人人 | 亚洲综合在线网 | 午夜视| 深夜网站在线观看 | 亚洲一区二区精品在线 | 九九免费视频 | 久久久一级片 | 婷婷激情丁香 | 日日噜噜噜噜人人爽亚洲精品 | 一级片免费看视频 | 狠狠鲁影院 | 国产一级黄色av | 99久久人妻无码精品系列 | 国产网红主播精品av | 日本一区二区视频在线观看 | 日韩不卡 | 日韩久久网 | 日日摸日日操 | 超碰一区二区三区 | 国产精品久久久久久久一区二区 | 波多野吉衣毛片 | 荫蒂被男人添免费视频 | 亚洲一区二区精品在线观看 | 久久久久久久久久久网 | 国产啊啊啊啊 | 搡老熟女国产 | 精品一区在线看 | 国产精品视频一区二区三区在3 | 日本不卡免费在线 | 国产精品无码av在线播放 | 水蜜桃影库 | 免费在线观看一区二区三区 | 亚洲欧美在线一区 | 白浆影院 | 影音先锋欧美资源 | 亚洲av无码乱码国产精品久久 | 天美麻花果冻视频大全英文版 | 欧美一区网站 | 打屁股外国网站 | 日韩一区二区精品视频 | 成人国产一区二区 | 天堂在线观看av | 国产精品传媒视频 | 九九九九精品九九九九 | 久久久久久国产精品免费免费 | 午夜青青草 | 7m精品福利视频导航 | 久久精品欧美一区二区三区不卡 | 超碰在线网| 午夜色播| 美女福利一区 | 天天干天天舔 | 免费一级欧美片在线播放 | 污污在线免费观看 | 强行挺进白丝老师里呻吟 | 福利视频在线看 | 久久看片 | 一本之道av | 中文国语毛片高清视频 | 在线观看国产三级 | 美女被变态侵犯 | 国产成人在线免费视频 | 亚洲一级Av无码毛片久久精品 | 性xxxfllreexxx少妇 | 欧美国产精品久久 | 国产免费无码XXXXX视频 | 视频一区欧美 | 免费黄色在线视频 | 日日摸夜夜添狠狠添久久精品成人 | 自拍偷拍欧美激情 | 免费在线毛片 | 欧美精品手机在线 | 97播播|