// rawresolution.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include
using namespace std;
#include "vtkunsignedchararray.h"
#include "vtkpiecewisefunction.h"
#include "vtkcolortransferfunction.h"
#include "vtkvolumeraycastcompositefunction.h"
#include "vtkimagedata.h"
#include "vtkvolumeproperty.h"
#include "vtkvolume.h"
#include "vtkrenderwindow.h"
#include "vtkrenderer.h"
#include "vtkrenderwindowinteractor.h"
#include "vtkunsignedshortarray.h"
#include "vtkpointdata.h"
#include "vtkvolume16reader.h"
#include "vtkmarchingcubes.h"
#include "vtkstripper.h"
#include "vtkproperty.h"
#include "vtkcamera.h"
#include "vtkboxwidget.h"
const int dim=50;
int _tmain(int argc, _tchar* argv)
//int raw_header[4];
//fread(raw_header,sizeof(int),4,file);
raw檔案的前邊16個位元組儲存的是 寬度 高度 層數 乙個資料所佔位元組
//width = raw_header[0];
//height = raw_header[1];
//slices = raw_header[2];
//bits = raw_header[3];
//long datalength=1l*width*height*slices;
//unsigned char *data1=new unsigned char[datalength];
//fread(data1,datalength,1,file);
//fclose(file);
//cout<<"width:"//讀取二維切片資料序列
vtkvolume16reader *reader = vtkvolume16reader::new();
reader->setdatadimensions(64, 64); //設定畫素
reader->setdatabyteordertolittleendian();
reader->setfileprefix("headsq\\quarter");//設定讀取路徑
reader->setimagerange(1, 93);
reader->setdataspacing(3.2, 3.2, 1.5);
//抽取等值面為骨頭的資訊
vtkmarchingcubes *boneextractor = vtkmarchingcubes::new();
boneextractor->setinputconnection(reader->getoutputport());
boneextractor->setvalue(0,500); //設定提取的等值資訊
//剔除舊的或廢除的資料單元,提高繪製速度
vtkstripper *bonestripper = vtkstripper::new(); //三角帶連線
bonestripper->setinputconnection(boneextractor->getoutputport());
//建立對映
//建立角色
vtkactor *bone = vtkactor::new();
bone->getproperty()->setdiffusecolor(.1,.94,.52);
bone->getproperty()->setspecular(.3);
bone->getproperty()->setspecularpower(20);
//標準句子
//定義繪製器
vtkrenderer *arenderer = vtkrenderer::new();
//定義繪製視窗
vtkrenderwindow *renwin = vtkrenderwindow::new();
renwin->addrenderer(arenderer);
//定義窗**互器
vtkrenderwindowinteractor *iren = vtkrenderwindowinteractor::new();
iren->setrenderwindow(renwin);
//建立乙個camera
vtkcamera *acamera = vtkcamera::new();
acamera->setviewup(0,0,-1);
acamera->setposition(0,1,0);
acamera->setfocalpoint(0,0,0);
arenderer->addactor(bone);
arenderer->setactivecamera(acamera);
arenderer->resetcamera();
acamera->dolly(1.5);
arenderer->setbackground(0,0,0);
arenderer->resetcameraclippingrange();
vtkboxwidget *boxwidget = vtkboxwidget::new();
boxwidget->setinteractor(iren);
boxwidget->setplacefactor(1.25);
boxwidget->setprop3d(bone);
boxwidget->placewidget();
iren->initialize();
iren->start();
reader->delete();
iren->delete();
system("pause");
return 0;
}
vtk面繪製的實現
如題 將圖層資料 vtkimagedata 生成3d物件 vtkpolydata 示例 如下 vtksmartpointer pmarchingcubes vtksmartpointer new pmarchingcubes setinputdata vtkimagedata pmarchingcu...
根據來電號碼顯示人名
根據來電號碼顯示人名 描述 當手機來電時會根據 號碼自動匹配儲存在 本中的人名,進行 號碼匹配時一般會根據號碼的後多少位進行匹配,因為不同的網路環境下發的號碼可能會不同,比如,有的地區顯示區號,有的可能不顯示區號等。該題目要求如下 1 對來電號碼進行後n位的匹配,n通過引數讀取獲得,輸出所有匹配號碼...
VTK多線條顯示
1 開發環境 計算機系統 win8.1 64位 qt版本 5.2.1 qt creator版本 3.0.1 vtk版本 6.2.0 2 問題描述 vtk中可以是實現畫線條的類有vtkline和vtkpolyline。畫單條線比較容易實現,但是要畫多根線,使其構成樹形,就比較麻煩。根據現有的資料,達到...