原创 C++ sort排序的妙用

題目描述 宋代史學家司馬光在《資治通鑑》中有一段著名的“德才論”:“是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之 小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。” 現給出一批考生的德才分

原创 C++中的冪次表示

C++中不能用^來計算冪次,^是位異或(XOR) 在cmath(math.h)頭文件中有pow()函數,用法如下: double pow(double x, double y);

原创 Structure Sensor掃描的數據通過Skanect Pro進行三維重建

1、下載並安裝Skanect 2、可以使用USB進行數據傳輸(只有深度圖)或者使用無線網絡進行數據傳輸 2.1 使用ipad StructureUplink app進行無線傳輸 a)電腦和ipad在同一局域網下,最好使用5Ghz

原创 Mac OSX下編譯三維重建MVE

1、安裝依賴 brew install git libpng jpeg libtiff qt brew link --force qt 2、克隆mve倉庫 git clone git://github.com/simonfuhr

原创 Color Map Optimization for 3D Reconstruction with Consumer Depth Cameras核心算法翻譯及理解,附python open3d實現

Color Map Optimization for 3D Reconstruction with Consumer Depth Cameras方案概述輸入網格重建關鍵幀選取相機姿態優化目標函數高斯牛頓法交替優化法非剛體校正目標函

原创 通過split和cat拆分合並文件

1、拆分文件 split [-a] [-b] [-C] [-l] [要分割的文件名] [分割後的文件名前綴] –version 顯示版本信息 – 或者-l,指定每多少行切割一次,用於文本文件分割 -b 指定切割文件大小,單位 m

原创 MacOS從源碼編譯open3d爲Xcode工程

1、克隆open3d倉庫 git clone --recursive https://github.com/intel-isl/Open3D 注意加上 recursive,把3rdparty子模塊也克隆到本地 2、安裝依賴 ut

原创 mac OSX安裝VTK

1、在VTK官網下載所需版本到你想安裝的目錄/path/to/vtk 2、通過cmake安裝,這裏配置了qmake的路徑和qt的版本,並且將VTK_USE_CARBON設置爲OFF,官網這裏設置爲ON,會和Cocoa衝突 cd /

原创 mac OSX安裝PCL

PCL是3D基本庫,在mac上有兩種方式進行安裝 1、通過brew安裝 brew install pcl 2、通過源碼編譯安裝 git clone https://github.com/PointCloudLibrary/pcl

原创 cmake生成xcode工程便於調試

目前有很多非常優秀的開源工程和代碼都支持cmake編譯,在mac ox上,爲了方便調試,可以使用cmake生成xcode工程: cmake -G "Xcode" . .代表當前目錄,即CMakeLists.txt所在的目錄 這樣

原创 劍指offer題解C++【5】用兩個棧實現隊列

題目描述 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 解題思路 隊列 C++隊列queue模板類的定義在< queue>頭文件中,queue 模板類需要兩個模板參數,一個是元素類型,一個容

原创 劍指offer題解C++【4】重建二叉樹

題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重

原创 劍指offer題解C++【6】旋轉數組的最小數字

題目描述 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 N

原创 劍指offer題解C++【2】

題目描述 請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。 解題思路 首先計算字符串中的空格數量,若空格數量爲count,則

原创 劍指offer題解C++【3】

題目描述 輸入一個鏈表,從尾到頭打印鏈表每個節點的值。 解題思路 首先將鏈表中的值從頭到尾壓入一個棧中,然後再依次將值從棧中讀取出來。 利用棧的先進後出原理即可。 代碼 /** * struct ListNode { *