(10)点云数据处理学习——基于手机视频和工具实现三位点云

1、主要参考

(1)大佬的视频

Create Point Clouds With Your Smartphone_哔哩哔哩_bilibili

2、视频和图片的获取 

2.1用手机拍摄一段视频

站着不动,找个特征多一点的地方,比如对着一栋大楼。手持手机,以身体为中心,旋转拍摄一小段视频,本次测试视频10s。

2.2写个小脚本,将视频转换为tiff格式

#引入opencv模块
import cv2 as cv

videofile = "D:\\RGBD_CAMERA\\python_3d_process\\video\\VID_20221204_104946.mp4"


imgpath=  "D:\\RGBD_CAMERA\\python_3d_process\\tiffimage\\"

cap = cv.VideoCapture(videofile)
# fps = cap.get(cv.CAP_PROP_FPS)

icount = 0
# namebase = 3150000
# namebase = 3160000
# namebase = 3170000
# namebase = 3180000
# namebase = 3190000
# namebase = 3200000
namebase = 1



#先创建窗口,这时候可以调整大小了    
cv.namedWindow("video",cv.WINDOW_NORMAL)

while (True):
    # 读帧
    ret, frame = cap.read()
    icount = icount +1
    if ret is None:
        break
    # 保存图像
    # if icount %5 == 0:
    namebase = namebase +1
    cv.imwrite(imgpath+str(namebase)+".tiff",frame)
    cv.imshow("video", frame)
    cv.waitKey(3)

    # if cv2.waitKey(int(1000 / fps)) & 0xFF == ord('q'):
    #     break
# 释放cap
cap.release()
# 关闭窗口,清除程序所占用的内存
cv.destroyAllWindows()

2.3 10s的视频得到了312张图

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第1张图片

 3 工具用起来

3.1 Agisoft Metashape

(1)下载一个,有试用版

(2)其它下载请勿用于商业用途

3.2 使用过程

(1)点击Workflow/Add Phots在跳出的窗口中选择所有文件

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第2张图片

 (2)点击Workflow/Align Photos

 (10)点云数据处理学习——基于手机视频和工具实现三位点云_第3张图片

 (3)在跳出的窗口中选择Medium和Sequential,而后点击OK

(1)最终使用了如下操作,没有勾选Generic preselection并选择High

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第4张图片

 (2)如下简单操作没有选用,不然会告诉我部分图片失败....

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第5张图片

 (4)耐心等待完成

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第6张图片

 (5)点击Workflow/Build Dense Cloud

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第7张图片

 (6)在跳出的窗口中选择如下

(1)选用了如下选项

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第8张图片

 (2)没有使用如下选项

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第9张图片

 (7)点击Ok后耐心等待

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第10张图片

 (8)计算完毕后可以使用Model/View Mode/Dense Cloud看一波

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第11张图片

 

 (9)最后导出一下获得的点云File/Export/Export Points...

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第12张图片

 (10)存为各种类型都行,本次存为.pcd格式

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第13张图片

4、显示一下

(1)测试代码

# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple open3d
# pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple 
#xachen 显示可以了,20221128


import open3d as o3d
import numpy as np


# path = "D:/RGBD_CAMERA/python_3d_process/1_hezi.pcd"
path = "D:/RGBD_CAMERA/python_3d_process/chenmobile.pcd"
pcd = o3d.io.read_point_cloud(path)  # path为文件路径
o3d.visualization.draw_geometries([pcd],                                    
                                      window_name="窗口名字测试",
                                      point_show_normal=False,
                                      width=800,  # 窗口宽度
                                      height=600)  # 窗口高度

(2)显示结果,感觉怪怪的

(10)点云数据处理学习——基于手机视频和工具实现三位点云_第14张图片 

 

你可能感兴趣的:(深度学习,学习)