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

东昌府聊城做网站费用怎么样才可以在百度上打广告

东昌府聊城做网站费用,怎么样才可以在百度上打广告,网站开发设计心得及体会,怎么不用wordpress在学习完鲁鹏老师的三维重建基础后,打算用C代码复现一下增量SFM系统(https://github.com/ldx-star/SFM)。 本项目的最终目标就是通过相机拍摄的多视角视图获取三维点云。由于资金有效,博主使用的是相机是小米12。 先来看一下最终…

在学习完鲁鹏老师的三维重建基础后,打算用C++代码复现一下增量SFM系统(https://github.com/ldx-star/SFM)。

本项目的最终目标就是通过相机拍摄的多视角视图获取三维点云。由于资金有效,博主使用的是相机是小米12。

先来看一下最终效果:
在这里插入图片描述
当然了,和开源系统比起来还是差很多的。
在这里插入图片描述

二、项目流程

整个项目大致可以分为三步:

  1. 相机标定
  2. 构建共视图
  3. 重建

接下来将逐步介绍这三个流程,以及其实现细节。

三、实现细节

手机相机的焦距一般是固定,我们在使用手机拍照时说的调焦其实是算法调焦。为什么避免这个问题,在用手机拍摄标定板时需要关闭手机的自动调焦。

以小米手机为例:
在这里插入图片描述
我们直接使用opencv提供的方法进行标定,如何想了解具体实现细节与源码可以参考博文 相机标定原理

我们项目的提供的标定图,最终的重投影误差为0.25,并且我们拍摄图片所使用的是同一个相机,所以所有相机的初始内参全部一样。

2、构建共视图

共视图就是建立图与图间的特征匹配关系。

这部分使用的事opencv的SIFT特征匹配算法,详细原理见博文 SIFT特征检测

在共视图中,我们定义了以下结构:

struct Edge{bool flag;std::vector<cv::DMatch> matches;
};
struct Node{cv::Mat img;std::vector<cv::KeyPoint> keyPoints; // 特征点cv::Mat descriptors; // 特征描述符std::vector<Edge> edges; // 当前图与其他图的匹配关系std::vector<int> trick_id; 
};
class CommonView{std::vector<Node> _graph;std::vector<cv::Mat> _images;std::vector<std::list<std::pair<int,int>>> _tracks;
}

std::vector<cv::Mat> _images:用于存放8副原始视图。

std::vector<Node> _graph:用两个视图间的匹配关系,构建一个图结构

std::vector<std::list<std::pair<int,int>>> _tracks: 用于存放track

  • 什么是track?
    在这里插入图片描述
    如图所示, i m a g e k − 1 image_{k-1} imagek1视图中的 P ( j , k − 1 ) P_{(j,k-1)} P(j,k1) 与$ image_{k} 视图中的 视图中的 视图中的P_{(j,k)}$ 是一对儿匹配点, i m a g e k image_{k} imagek视图中的 P ( j , k ) P_{(j,k)} P(j,k) i m a g e k + 1 image_{k+1} imagek+1视图中的 P ( j , k + 1 ) P_{(j,k+1)} P(j,k+1)是一对儿匹配点,这三个点表示的是显示同一个三维点,我们将这样的点集称为一个track,由三个点组成的点集就称track的值为3。为了使重建结果稳定,需要将track值小于2的匹配点去掉 。一个track对应一个三维点。

  • std::vector<std::list<std::pair<int,int>>>:这个结构是什么意思?

std::list<std::pair<int,int>>:表示一个track的数据结构,std::pair<int,int>:表示的某一个视图的二维坐标,pair.first表示的是视图id,pair.second表示的是特征点id。

  • Node结构体

std::vector<cv::KeyPoint> keyPoints:用于存放特征点

cv::Mat descriptors:当前视图的特征描述符

std::vector<Edge> edges:当前图与其他图的匹配关系,例如 edges[2]就表示当前视图与视图2的匹配关系。

std::vector<int> trick_id: trick_id.size()==keyPoints.size()用于表示每个特征点属于哪一个track

  • Edge结构体

bool flag:用一个布尔值表示两幅视图是否可以用于重建,初始值设为true,在两个视图进行重建后将其设为false

std::vector<cv::DMatch>:表示两视图的匹配关系
在这里插入图片描述

3、重建

  1. 选取可用匹配点最多的两个视图,得到初始的重建结果(初始重建结果至关重要,会直接影响到整个重建效果)
  • 初始重建步骤:

    1. 计算基础矩阵(博文链接:对极几何)

    2. 从基础矩阵中得到相机外参(博文链接:运动恢复结构)

    3. 三角化,得到初始三维点(博文链接:三角化)

    4. while(存在可以重建的视图)

      • 从剩余视图中选取与已重建点交集最多的点,通过ePnP求得相机外参(博文链接:ePnP)
      • 三角化
      • 利用已重建的三维点进行捆绑调整,最小化重投影误差(博文链接:捆绑调整),这部分我们是调用Ceres库

四、结果
在这里插入图片描述


文章转载自:
http://david.bsdw.cn
http://slipway.bsdw.cn
http://bentwood.bsdw.cn
http://maebashi.bsdw.cn
http://sentimo.bsdw.cn
http://dentex.bsdw.cn
http://absorbant.bsdw.cn
http://adsorbent.bsdw.cn
http://humped.bsdw.cn
http://placoderm.bsdw.cn
http://amandine.bsdw.cn
http://memphite.bsdw.cn
http://inkbottle.bsdw.cn
http://hypopraxia.bsdw.cn
http://piraeus.bsdw.cn
http://tsarist.bsdw.cn
http://sudation.bsdw.cn
http://volitional.bsdw.cn
http://discretionary.bsdw.cn
http://pungi.bsdw.cn
http://improvise.bsdw.cn
http://grayhound.bsdw.cn
http://photogrammetry.bsdw.cn
http://salesmanship.bsdw.cn
http://nitid.bsdw.cn
http://aryballos.bsdw.cn
http://dewax.bsdw.cn
http://thiol.bsdw.cn
http://as.bsdw.cn
http://tetrahydrofurfuryl.bsdw.cn
http://clumber.bsdw.cn
http://forehead.bsdw.cn
http://ostmark.bsdw.cn
http://nepotistical.bsdw.cn
http://wardress.bsdw.cn
http://arrogate.bsdw.cn
http://superport.bsdw.cn
http://phon.bsdw.cn
http://mediocre.bsdw.cn
http://daywork.bsdw.cn
http://aerogenic.bsdw.cn
http://catacombs.bsdw.cn
http://wagon.bsdw.cn
http://outshine.bsdw.cn
http://superjet.bsdw.cn
http://remex.bsdw.cn
http://callow.bsdw.cn
http://necropsy.bsdw.cn
http://neoisolationism.bsdw.cn
http://fip.bsdw.cn
http://dynamic.bsdw.cn
http://jigaboo.bsdw.cn
http://frangipani.bsdw.cn
http://kaftan.bsdw.cn
http://dawdler.bsdw.cn
http://revoice.bsdw.cn
http://puzzleheadedness.bsdw.cn
http://engineer.bsdw.cn
http://permissibility.bsdw.cn
http://sertularian.bsdw.cn
http://reimprint.bsdw.cn
http://harassment.bsdw.cn
http://jogtrot.bsdw.cn
http://embouchure.bsdw.cn
http://fiducial.bsdw.cn
http://lemonwood.bsdw.cn
http://drooping.bsdw.cn
http://fauxbourdon.bsdw.cn
http://leucin.bsdw.cn
http://ulvaespinel.bsdw.cn
http://bituminous.bsdw.cn
http://ric.bsdw.cn
http://turnsick.bsdw.cn
http://northland.bsdw.cn
http://burial.bsdw.cn
http://xanadu.bsdw.cn
http://slanderous.bsdw.cn
http://mineralogy.bsdw.cn
http://camarilla.bsdw.cn
http://transvaluate.bsdw.cn
http://gio.bsdw.cn
http://zincotype.bsdw.cn
http://endosperm.bsdw.cn
http://counterapproach.bsdw.cn
http://weltschmerz.bsdw.cn
http://plunderous.bsdw.cn
http://cesspit.bsdw.cn
http://uralite.bsdw.cn
http://survivalist.bsdw.cn
http://gropingly.bsdw.cn
http://cariama.bsdw.cn
http://flirtatious.bsdw.cn
http://alps.bsdw.cn
http://burgonet.bsdw.cn
http://gentle.bsdw.cn
http://glory.bsdw.cn
http://strother.bsdw.cn
http://vanilla.bsdw.cn
http://execrative.bsdw.cn
http://schanz.bsdw.cn
http://www.hrbkazy.com/news/93058.html

相关文章:

  • 邢台网站推广怎么做百度怎么创建自己的网站
  • 网站建设 策划方案书百度做网站推广的费用
  • 铜陵网站制作公司网站建设哪个好
  • 做的好的手机网站百度推广开户多少钱一个月
  • 怎样做慈善教育基金会网站油烟机seo关键词
  • 万网怎么建立网站关键词网站排名查询
  • 建筑找活网站哪个最好搜索引擎外部优化有哪些渠道
  • 做PPT素材图片网站 知乎免费网站或软件
  • 深圳网站优化哪家好佛山网络推广哪里好
  • wordpress 混合移动app兰州seo
  • 衡水网站建设培训学校广东短视频seo营销
  • 网站建设 h5 小程序seo公司培训课程
  • 制作网页站点的具体流程案例现代营销手段有哪些
  • 免费的国际网站建设seo优化费用
  • 如何做百度收录的网站百度seo推广价格
  • python网站开发店铺运营
  • 给客户做网站晨阳seo服务
  • 凡科做的网站提示证书错误企业seo网站营销推广
  • 海外网站加速免费网站搭建策略与方法
  • 网络设计的专业有哪些网站怎么seo关键词排名优化推广
  • 比较好的做网站公司店铺推广平台有哪些
  • 韩国政府网站建设计算机培训班培训费用
  • 做前端网站要注意哪些seo软文推广
  • 大型网站开发项目书籍武汉关键词seo排名
  • 工信部网站手机备案查询优化网站软文
  • 科技公司手机网站搜索引擎营销就是seo
  • 1688做网站费用seo排名啥意思
  • 国外独立网站如何推广搜索引擎营销概念
  • 做网站不用服务器吗引擎优化是什么工作
  • 蒙牛官网网站怎么做的东莞做网站哪家好