vtk瞎操作

因为项目需求,想要对一个模型文件进行渲染,从而获取更多的模型图像数据。
这个因为本来自己理解也不多,工具也不太熟悉。正好在计算机图形学课程上看到vtk的工具库,因此,想利用vtk实现对于模型文件的灰度图像(彩色图像等数据需要贴纹理操作,因此也没继续搞)和模型的深度图像(图像中各个像素点处距离相机平面的距离)

因为本来对于vtk都不太熟悉,所以胡乱摸索了好几天。推荐vtk学习基本教程还是从官网例子上来看,一番摸索下来,感觉对于未知问题描述能力以及搜索能力,都是非常重要,而且本人需要提高的。

问题还存在一些,包括

  1. 没有实现纹理的渲染
  2. 深度图像背景距离应该为0或者为无穷,但是实际上是一个farClipping Dsitance。如何在vtk中去除也是一个问题。
  3. 渲染图象只有在renderWindow中交互之后才有物体。 目前还没有找到在不显示renderWindow,并且不进行交互作业之后,生成真实的渲染图象。理想上是要找一个 renderWindow->Update之类的东西,可是因为理解不够,还没有找到。
  4. 感觉这个渲染方法有些繁琐,可能还存在更好的渲染图象的软件或者工具包。如果有同学知道的话还请推荐一个

代码如下:

int main(int argc, char** argv){
//  设定相机的参数
	float fx = 1423.81;
	float fy = 1423.0;
	int imgU = 1280;
	int imgV = 960;
	int magnification = 1;

// 读取模型文件
	vtkSmartPointer<vtkPolyData> polyData =
		ReadPolyData(argc > 1 ? argv[1] : "model.ply");
	vtkSmartPointer<vtkPolyDataMapper> mapper =
		vtkSmartPointer<vtkPolyDataMapper>::New();
	mapper->SetInputData(polyData);

	vtkSmartPointer<vtkActor> actor =
		vtkSmartPointer<vtkActor>::New();
	actor->SetMapper(mapper);
	actor->Se
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值