Windows10+VMWare+Ubuntu20.04+OpenDroneMap+NodeODMネイティブで動いたかも。
なんとかDocker環境なしのネイティブ環境でWebODMまでこぎ着けないか・・・
ということで、悶絶しながらやってきたが、PCがcore-i9という素晴らしく強力な環境を手に入れたことでUbuntuの構築が楽になったので、まずは、NodeODMまでやってみた。自分用備忘録メモ。わかりにくいとか、怒らないでね
。
OpenDroneMapのインストールはわたしのこのブログの
chiikiseibi.hatenablog.comこの記事を参照してもらうとして、
Node-ODMは、Python環境とかが肝になってくるので、そのあたりを簡単にメモ。
githubのOpenDroneMap/NodeODMのページを参照しつつやってみたらうまくいったので、そこまでのメモ。
entwine環境を入れる必要があるようだ。
ここを読んでいくと、まずはミニコンダをインストールしなければならないので
さらにこれ、
docs.conda.ioで、Python 3.8環境を選択した、3.9環境はまだまだなので、ODM的には以前のバージョンも2.7と3.8環境でインストールしていたようだからなぁと・・・なんとなく3.8を選択
Minicond3 Linux 64bit 89.9MiBを選択すると、bash Miniconda3-latest-Linux-x86_64.sh
がダウンロードされる。自分の環境にあったものを選択。
ダウンロードディレクトリにカレントポジションを移して
bash Miniconda3-latest-Linux-x86_64.sh
後は適当に質問に答えていくとインストールされる。
まぁ、大体はただのリターン、スペースと[yes]と入れてリターンのどれか
最後にイニシャライズするか?的な聞き方をしてくるが、後でいろいろあるが、ここでは[yes]としてリターン
端末を一度閉じて開き直すとcondaの動作環境になっているはず。
これで終了
次はentwine環境を構築
さっきのentwineページに戻りつつ
- conda create -n entwine -c conda-forge entwine
でOK
で、いよいよnodeODMのインストールだが、前段の作業がある。
端末を開くと(base)という表示がされているはずである。これはすでにconda環境下でpython3.8が使用可能という意味らしい。
しかし、この状態でNodeODMをインストール(もしくは起動)してもだめっぽい事がわかってきた。そこで、
- conda deactivate
として、conda環境を終わらす。後々、conda環境が動いているとOpenDroneMapも動かないことがわかった。そのため、
- vim .bashrc
として、最下行に
- conda deactivate
と一行入力して、端末を再立ち上げした方がよい。
そして、NodeODM、ODMをインストールするのである。
Pythonはバージョン3環境が20.04のデフォルトなので、pythonのツールを入れるときはpythonのところを大体python3に修正すればインストールされる。
curlが入っていないので入れます。
- sudo apt install p7zip-full unzip curl
- sudo curl --silent --location https://deb.nodesource.com/setup_14.x | sudo bash -
※ここは、サイトではsetup_6.xであったが、そのまま実行すると最新版を入れろ!みたいに言ってくるので、最初から14.xと指定した。
※nodejsはnodesourceをインストールしたあとに入れると良いみたい。というか、そんなメッセージが出た。
- sudo apt install nodejs npm python3-gdal
- git clone https://github.com/OpenDroneMap/NodeODM
- sudo ln -s /home/[User dir]/NodeODM /www
※後々のネイティブ環境のWebODMに備えてリンクを張っておく。すぐに必要となるものではないです。
- cd NodeODM
- npm install
できた!
vmwareで新しい環境で作ったので、順番は逆だがOpenDroneMap環境も続けてインストール
- wget https://github.com/OpenDroneMap/ODM/archive/master.zip
- unzip master.zip
- mv ODM-master ODM
- sudo ln -s /home/[user]/ODM /code
- cd /code
- bash configure.sh install
・・・・・・・・・configuration Finished で、終了!
では、いよいよ
- cd /www
- node index.js
ブラウザからlocalhost:3000で確認。なんとなく動いているかな・・・まだ未確認だけど外形的には動いているような・・・40個程度のファイルで試してみたが問題なく動いた。やった!!!!
***********************************
ここから、追記
どうも、condaを入れて.bashrcで自動的にアクティブ化されてしまったせいで、ODMが途中で落ちるようになった。以下のラーが出る。
no module name cv2
そのため、前述したが、conda deactivateで一端conda環境を終わらすことにした。
ただし、Node-ODM内の挙動はわからないが、condaへのパスは残したい・・・結局.bashrcでパスも切っているようなので、その部分は残し、condaのみdeactivateした。
これでダメなら.bashrcのcondaの部分を削除かと思ったが、・・・なんかうまくいったみたい。