From c52667f13e5a060b3eb7ea121806caf24e857a7f Mon Sep 17 00:00:00 2001
From: Mark Yu <markyu98@outlook.com>
Date: Tue, 29 Nov 2022 14:50:22 +0100
Subject: [PATCH] Add OpenCV as dependency, add reference to install compatible
 versions of pytorch with CUDA (#29)

* Add OpenCV as dependency and pytorch-CUDA compatible reference link to README

* update readme.

* update readme.

* update readme.

* update tp-lsd installation in readme.

* minor update.

* fix tp-lsd link.

Co-authored-by: B1ueber2y <b1ueber2y@gmail.com>
---
 README.md | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/README.md b/README.md
index 8c388dfc..dd87f42a 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,20 @@
 
 ## Dependencies
 * CMake >= 3.17
-* Python 3.9
-* COLMAP
+* COLMAP [[Guide](https://colmap.github.io/install.html)]
+* HDF5
+```bash
+sudo apt-get install libhdf5-dev
+```
+* OpenCV (only for installing [pytlbd](https://github.com/B1ueber2y/limap-internal/blob/main/requirements.txt#L33))
+```bash
+sudo apt-get install libopencv-dev libopencv-contrib-dev libarpack++2-dev libarpack2-dev libsuperlu-dev
+```
 
+* Python 3.9 + required packages
 ```bash
 git submodule update --init --recursive
-sudo apt-get install libhdf5-dev
-python -m pip install torch==1.11.0 torchvision==0.12.0
+python -m pip install torch==1.11.0 torchvision==0.12.0 # Refer to https://pytorch.org/get-started/previous-versions/ to install packages that are compatible with your CUDA
 python -m pip install -r requirements.txt
 ```
 
@@ -21,7 +28,7 @@ python setup.py develop
 
 or you can also use ``pip`` alternatively:
 ```
-python -m pip install -ve .
+python -m pip install -ve . 
 ```
 
 ## Quickstart
@@ -55,17 +62,13 @@ The following line detectors are currently supported:
 - [LSD](https://github.com/iago-suarez/pytlsd)
 - [SOLD2](https://github.com/cvg/SOLD2)
 - [HAWPv3](https://github.com/cherubicXN/hawp)
-
-The line detector [TP-LSD](https://github.com/Siyuada7/TP-LSD) can be additionally used, but needs a separate installation. You will need to switch to GCC 7 for the following compilation (but can use again GCC 9 at test time):
-```bash
-python -m pip install -e ./third-party/TP-LSD/tp_lsd/modeling/DCNv2
-python -m pip install -e ./third-party/TP-LSD
-```
+- [TP-LSD](https://github.com/Siyuada7/TP-LSD)
 
 The following line descriptors/matchers are currently supported:
 - [LBD](https://github.com/iago-suarez/pytlbd)
 - [SOLD2](https://github.com/cvg/SOLD2)
 - [LineTR](https://github.com/yosungho/LineTR)
 - [L2D2](https://github.com/hichem-abdellali/L2D2)
-- Nearest neighbor matching of the endpoints with [SuperPoint](https://github.com/magicleap/SuperPointPretrainedNetwork)
-- Matching of the endpoints with [SuperPoint](https://github.com/magicleap/SuperPointPretrainedNetwork) + [SuperGlue](https://github.com/magicleap/SuperGluePretrainedNetwork)
+- Endpoint matching with [SuperPoint](https://github.com/magicleap/SuperPointPretrainedNetwork) + Nearest Neighbors
+- Endpoint matching with [SuperPoint](https://github.com/magicleap/SuperPointPretrainedNetwork) + [SuperGlue](https://github.com/magicleap/SuperGluePretrainedNetwork)
+