【三维重建】之 matlab读取 .wrl 三维图像文件

这篇具有很好参考价值的文章主要介绍了【三维重建】之 matlab读取 .wrl 三维图像文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

matlab读取 .wrl 三维图像文件

1. wrl 文件

  • wrl(虚拟现实语言): wrl文件是一种虚拟现实文本格式文件。也是VRML的场景模型文件的扩展名。
  • wrl文件是纯ASCII文件,所以可以用文本编辑器打开和编辑。虽然这样,但是对于大型的3D文件。用纯手工的方法是不可取的。应该选择用三维软件(maya,max等)进行场景建模和输出。
  • 可通过SolidWorks制作导出
  • 可通过matlab打开可视化

例如scene.wrl 文件,其内容如下:

#VRML V2.0 utf8
Transform {
	children [
		DEF model1 Transform {
			children [
				DEF body1 Transform {
					translation -1 0 0
					children [
						DEF shape1 Shape {
							appearance Appearance {
								material Material {
									diffuseColor 1.0 1.0 0.0
								}
							}
							geometry Box {
								size 1.5 1.5 1.5
							}
						}
					]
				}
			]
		}
		DEF model2 Transform {
			children [
				DEF body2 Transform {
					translation 1 0 0
					children [
						DEF shape2 Shape {
							appearance Appearance {
								material Material {
									diffuseColor 1.0 1.0 0.0
								}
							}
							geometry Box {
								size 1.5 1.5 1.5
							}
						}
					]
				}
			]
		}
	]
}

2. matlab打开.wrl文件

%********************打开.wrl文件*************
vrsetpref('DefaultViewer', 'internalv5')
w = vrworld('scene.wrl');
open(w);
view(w);

matlab读取三维图像,Matlab,matlab,三维重建,超分辨率重建,机器人,点云

3. matlab绘制wrl内的三维坐标点

txt格式打开.wrl文件,直接复制点集坐标到matlab代码中,并在每行坐标后边添加...

%绘制三维点
%%base_link
P=[ -0.075000 -0.100000 0.000000, -0.075000 -0.100000 0.570000, -0.075000 -0.075000 0.436008, -0.075000 -0.073559 0.421376, -0.075000 -0.073559 0.450639,...
 -0.075000 -0.069291 0.407306, -0.075000 -0.069291 0.464709, -0.075000 -0.062360 0.394340, -0.075000 -0.062360 0.477675, -0.075000 -0.053033 0.382975,...
 -0.075000 -0.053033 0.489041, -0.075000 -0.041668 0.373647, -0.075000 -0.041668 0.498368, -0.075000 -0.028701 0.366717, -0.075000 -0.028701 0.505299,...
 -0.075000 -0.014632 0.362449, -0.075000 -0.014632 0.509567, -0.075000 0.000000 0.361008, -0.075000 0.000000 0.511008, -0.075000 0.014632 0.362449,...
 -0.075000 0.014632 0.509567, -0.075000 0.028701 0.366717, -0.075000 0.028701 0.505299, -0.075000 0.041668 0.373647, -0.075000 0.041668 0.498368,...
 -0.075000 0.053033 0.382975, -0.075000 0.053033 0.489041, -0.075000 0.062360 0.394340, -0.075000 0.062360 0.477675, -0.075000 0.069291 0.407306,...
 -0.075000 0.069291 0.464709, -0.075000 0.073559 0.421376, -0.075000 0.073559 0.450639, -0.075000 0.075000 0.436008, -0.075000 0.100000 0.000000,...
 -0.075000 0.100000 0.570000, -0.025000 -0.075000 0.436008, -0.025000 -0.073559 0.421376, -0.025000 -0.073559 0.450639, -0.025000 -0.069291 0.407306,...
 -0.025000 -0.069291 0.464709, -0.025000 -0.062360 0.394340, -0.025000 -0.062360 0.477675, -0.025000 -0.053033 0.382975, -0.025000 -0.053033 0.489041,...
 -0.025000 -0.041668 0.373647, -0.025000 -0.041668 0.498368, -0.025000 -0.028701 0.366717, -0.025000 -0.028701 0.505299, -0.025000 -0.014632 0.362449,...
 -0.025000 -0.014632 0.509567, -0.025000 0.000000 0.361008, -0.025000 0.000000 0.436008, -0.025000 -0.000000 0.511008, -0.025000 0.014632 0.362449,...
 -0.025000 0.014632 0.509567, -0.025000 0.028701 0.366717, -0.025000 0.028701 0.505299, -0.025000 0.041668 0.373647, -0.025000 0.041668 0.498368,...
 -0.025000 0.053033 0.382975, -0.025000 0.053033 0.489041, -0.025000 0.062360 0.394340, -0.025000 0.062360 0.477675, -0.025000 0.069291 0.407306,...
 -0.025000 0.069291 0.464709, -0.025000 0.073559 0.421376, -0.025000 0.073559 0.450639, -0.025000 0.075000 0.436008, 0.075000 -0.100000 0.000000,...
 0.075000 -0.100000 0.570000, 0.075000 0.100000 0.000000, 0.075000 0.100000 0.570000 ]

i=1
while i<length(P)
    scatter3(P(i),P(i+1),P(i+2));
    hold on
    i=i+3;
end

matlab读取三维图像,Matlab,matlab,三维重建,超分辨率重建,机器人,点云

4. 对三维点进行空间旋转变换

%旋转矩阵:
%绕x\y\z轴旋转,输入弧度
function [R]=getR(a,flg)
    R=[]
    if(flg==0)
        R=[ 1  0  0;
        0  cos(a) -sin(a);
        0  sin(a)  cos(a)];
    elseif(flg==1)
        R=[ cos(a)  0  sin(a);
        0  1  0 ;
        -sin(a)  0  cos(a)];
    elseif(flg==2)
        R=[ cos(a) -sin(a)  0;
        sin(a)  cos(a)  0  ;
        0  0  1];
    end
end

接标题3中的点集格式如下计算:文章来源地址https://www.toymoban.com/news/detail-585083.html

rx=getR(-pi/2,0);
points0=points*rx

ry=getR(-pi/2,1);
points1=points*ry

rz=getR(-pi/2,2)
points2=point*rz

到了这里,关于【三维重建】之 matlab读取 .wrl 三维图像文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab对图像和视频的简单处理(图像视频文件读取和输出,转灰度图,取指定帧的图像)

    语法介绍 : 参数介绍 : filename :要读取的图像文件名,可以是完整的路径。 fmt :可选参数,指定图像的格式。默认情况下,imread会尝试猜测文件格式。常用的格式包括 ‘bmp’、‘gif’、‘jpeg’、‘png’、\\\'tiff’等。 返回值 : A :返回读取的图像数据矩阵,它可以是灰度

    2024年02月06日
    浏览(55)
  • matlab绘图(三)绘制三维图像

    一、绘制三维曲线  二、绘制三维曲面 1.meshgrid函数  2.mesh和surf函数 1.最基本的绘制三维曲线的函数 —plot3 plot3(x1,y1,z1, 选项 1,x2,y2,z2, 选项 2,…, xn,yn,zn , 选项 n) 其中,每一组 x , y , z 组成一组曲线的坐标参数,选项的定义和 plot 函数相同。当 x 、 y 、 z 是同维向量时,则

    2024年02月01日
    浏览(98)
  • Matlab把二维矩阵画成三维图像

    上面的速度文件是一列数据,在matlab中可以认为是向量,数据量为10000*5000,所以才能被设置为5000*10000的矩阵。 这样画出来的图像水平两轴为x:1,10000;y:1,5000。 垂向上的数值则是矩阵对应的速度值。 因为数据量太大,电脑很卡就不放图片了,你可以用C语言或者其他的什

    2024年02月12日
    浏览(39)
  • 用 MATLAB 实现的计算机CT断层扫描图像重建项目源码

    计算机断层扫描图像重建 介绍 计算机断层扫描是堆叠在一起的 X 射线图像的集合,以获得作为诊断图像第三维的深度信息。这些 “ 堆叠的 ” X 射线图像作为正弦图从 CT 机架接收,代表对象单层的 X 射线吸收剖面。该项目的目标是重建该单层的原始 2D 图像,并使用光衰减信

    2024年02月04日
    浏览(44)
  • 图像超分辨率重建概述

    1. 概念:         图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率、空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力。相较于低分辨率图像,高分辨率图像通常包含更大的像素密度、更丰富的纹理细节及更

    2024年02月04日
    浏览(51)
  • 图像超分辨率重建(pytorch)

             本文代码主体来自CVPR2020论文《Closed-loop matters: Dual regression networks for single image super-resolution》,但原作者并未提供论文亮点--如何使用unpair数据进行训练的代码,所以我在其基础上补齐了该过程的代码。         代码仓库:https://github.com/VitaminyW/Super_Solution      

    2024年01月16日
    浏览(46)
  • Matlab报错pcolor矩阵维度不一致(三维图像绘制)

    首先来说 pcolor 是可以很好的实现三维图像的: 简单来说,原来我们的数据是这样的: 我们需要把数据换成矩阵的形式,像下面这样: 你看,x=1,y=10,对应的z就是1,我们就是要换成这样的矩阵形式。下面说怎么换,以我的例子来说,我的x是50031✖1的矩阵,y是50031✖1的矩阵

    2024年02月05日
    浏览(44)
  • 【图像超分辨率重建】——HAT论文精读笔记

    作者: Xiangyu Chen, Xintao Wang, Jiantao Zhou, and Chao Dong 期刊: 引用: 摘要: 基于 Transformer 的方法在图像超分辨率等低级视觉任务中表现出令人印象深刻的性能。然而,我们发现这些网络只能通过归因分析利用有限空间范围的输入信息。这意味着 Transformer 的潜力在现有网络中仍未

    2024年02月08日
    浏览(60)
  • 【图像超分辨率重建】——GRL论文精读笔记

    作者: Yawei Li1 Yuchen Fan2 Xiaoyu Xiang2 Denis Demandolx2 Rakesh Ranjan2 Radu Timofte1;3 Luc Van Gool1;4 期刊: CVPR 引用: * 摘要: 本文的目的是提出一种机制,在全局、区域和局部范围内有效和明确地建立图像层次模型,用于图像修复。为了实现这一目标,我们首先分析了自然图像的两个重要

    2024年02月09日
    浏览(51)
  • 1.Matlab图像的读取和显示

    在开始之前,我们需要在脚本里创建个.m文件,然后运行。每次运行时要更换至脚本的路径。clc;clear;closeall;在一个文件的开头经常会看到。那么他们的作用是什么呢? imread是读取图像的函数。pout.jpg是图像的名字,不管在什么程序内都可以直接读取。那么,如果我们要读取其

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包