当前位置: 首页 > news >正文

深圳市南山区住房和建设局网站展示型网站解决方案

深圳市南山区住房和建设局网站,展示型网站解决方案,数据分析方法,网站建设开发报价左右眼图片 需求 需要将左右眼图像利用视差生成三维点云数据 先问问chatGPT相关知识 进一步问有没有现成的软件 chatGPT提到了OpenCV,我们让chatGPT用OpenCV写一个程序来做这个事情 当然,代码里面会有一些错误,chatGPT写的代码并不会做模…

左右眼图片
在这里插入图片描述
需求
需要将左右眼图像利用视差生成三维点云数据

先问问chatGPT相关知识
在这里插入图片描述
进一步问有没有现成的软件
在这里插入图片描述
chatGPT提到了OpenCV,我们让chatGPT用OpenCV写一个程序来做这个事情
在这里插入图片描述
当然,代码里面会有一些错误,chatGPT写的代码并不会做模拟运行测试,所以,实际跑起来是会有一些错误的
在这里插入图片描述
我们打印了一下,是float64的数据类型
在这里插入图片描述
转成float32就可以了,这可能是本地库版本问题造成的,也不能算chatGPT写的代码有错

运行python程序,生成output.ply点云文件,用CloudCompare软件打开看一下生成的点云
在这里插入图片描述
如果只有两张图,生成的点云是有很多缺失的,如果通过左右眼立体视频,也许可以补全很多信息,chatGPT给出一些解决思路
在这里插入图片描述
附:完整代码

import cv2
import numpy as npdef create_output(vertices, colors, filename):colors = colors.reshape(-1, 3)vertices = np.hstack([vertices.reshape(-1, 3), colors])ply_header = '''plyformat ascii 1.0element vertex %(vert_num)dproperty float xproperty float yproperty float zproperty uchar redproperty uchar greenproperty uchar blueend_header'''with open(filename, 'w') as f:f.write(ply_header % dict(vert_num=len(vertices)))np.savetxt(f, vertices, '%f %f %f %d %d %d')# Load the left and right images in gray scale
imgLeft = cv2.imread('imL.bmp', cv2.IMREAD_GRAYSCALE)
imgRight = cv2.imread('imR.bmp', cv2.IMREAD_GRAYSCALE)
imgColor = cv2.imread('imL.bmp', cv2.IMREAD_COLOR)# Create a StereoBM object
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)# Compute the disparity map
disparity = stereo.compute(imgLeft, imgRight)# Normalize the disparity map
norm_coeff = 255 / disparity.max()
disparity = disparity * norm_coeff / 255# Reproject the disparity map into 3D
h, w = imgLeft.shape[:2]
f = 0.8*w                          # guess for focal length
Q = np.float32([[1, 0, 0, -0.5*w],[0,-1, 0,  0.5*h],  # turn points 180 deg around x-axis,[0, 0, 0,     -f],  # so that y-axis looks up[0, 0, 1,      0]])
print(disparity.dtype)
disparity = np.float32(disparity)points = cv2.reprojectImageTo3D(disparity, Q)# Save the point cloud as a .ply file
colors = imgColor
mask = disparity > disparity.min()
output_points = points[mask]
output_colors = colors[mask]
mask = np.isfinite(output_points).all(axis=1)
output_points = output_points[mask]
output_colors = output_colors[mask]
output_file = 'output.ply'
print(output_points.dtype, output_colors.dtype)
print(output_points.shape, output_colors.shape)
create_output(output_points, output_colors, output_file)
http://www.yayakq.cn/news/409695/

相关文章:

  • 用windows建设网站好吗可视化建网站
  • 个人网站开发盈利模式国内建网站费用
  • 合肥网站建设晨飞我要自学网网站
  • 厦门网站建设推广乐度网上购物网站建设方案
  • 各网站的网络联盟网站开发三层架构
  • 域名跟网站的区别网店推广的作用
  • 网站备案价格女生适合做seo吗
  • seo优化网站模板公司网站建设行业怎么样
  • 有什么网站是做兼职的郑州做网站公司哪家好
  • 长沙移动网站建设万网服务器网站建设
  • 郑州响应式网站设计四川高速公路建设集团网站
  • 宁波网站制作报价百能网是哪家公司做的网站
  • 怎么建立一个网站搜关键词会跳出杭州网站建设公司导航
  • 网站建站流程图营销网站认识
  • 增加收录网站网站的域名和密码是什么意思
  • 做外贸 访问国外网站做企业网站需要哪些
  • 河北网站建设与推广试客网站 源码
  • 合肥市城乡城乡建设局网站做网页要去哪个网站
  • 一个人做网站好做吗中国化工建设网站
  • 我们不是做网站的国内seo公司排行榜前十名
  • 4s店网站建设网站建设要哪些人
  • 网站意识形态建设长春地图
  • 做网站就是做服务今天广州新增确诊最新消息
  • 深圳工厂网站建设公司网站设计色彩搭配
  • 如何购买一个网站的域名农家乐网站规划与建设方案
  • 哪个网站做图找图片大型门户网站建设服务
  • 苏州做手机网站建设一站式服务网站
  • wordpress建材主题陕西seo推广
  • 西安php网站建设专家如何打开建设网站后台
  • 中建铁路建设有限公司网站制作一个动态企业网站