Files
avm/docs/INSTALLATION.md
T
2025-06-29 16:59:41 +08:00

281 lines
5.1 KiB
Markdown

# Installation Guide
## System Requirements
### Operating System
- Linux (Ubuntu 18.04+, CentOS 7+)
- macOS 10.14+
- Windows 10+ (with WSL2 recommended)
### Hardware Requirements
- **Memory**: Minimum 4GB RAM, recommended 8GB+
- **Storage**: 1GB free space for build and outputs
- **CPU**: Multi-core processor recommended for optimal performance
## Dependencies
### Required Dependencies
#### OpenCV (Version 3.0+)
OpenCV is the core dependency for image processing operations.
**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install libopencv-dev libopencv-contrib-dev
```
**CentOS/RHEL:**
```bash
sudo yum install opencv-devel
# or for newer versions:
sudo dnf install opencv-devel
```
**macOS (using Homebrew):**
```bash
brew install opencv
```
**Manual Installation:**
If package managers don't provide a recent enough version:
```bash
# Download OpenCV source
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.x # or your preferred version
# Build and install
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
..
make -j$(nproc)
sudo make install
```
#### CMake (Version 3.10+)
Required for building the project.
**Ubuntu/Debian:**
```bash
sudo apt install cmake
```
**CentOS/RHEL:**
```bash
sudo yum install cmake
# or: sudo dnf install cmake
```
**macOS:**
```bash
brew install cmake
```
### Optional Dependencies
#### Git (for version control)
```bash
# Ubuntu/Debian
sudo apt install git
# CentOS/RHEL
sudo yum install git
# macOS
git --version # Usually pre-installed
```
## Installation Steps
### Method 1: Clone from GitHub (Recommended)
```bash
# Clone the repository
git clone https://github.com/xixu-me/AVM.git
cd AVM
# Make scripts executable
chmod +x scripts/*.sh
# Build the project
./scripts/build.sh
```
### Method 2: Download and Build
```bash
# Download and extract source code
wget https://github.com/xixu-me/AVM/archive/main.zip
unzip main.zip
cd AVM-main
# Make scripts executable
chmod +x scripts/*.sh
# Build the project
./scripts/build.sh
```
### Manual Build Process
If you prefer to build manually:
```bash
# Create build directory
mkdir -p build
cd build
# Configure with CMake
cmake ..
# Build (adjust -j flag based on your CPU cores)
make -j$(nproc)
# Verify build
ls bin/avm # Should exist if build successful
```
## Verification
### Test Installation
```bash
# Quick test with provided sample images
./scripts/run.sh
# Check output
ls build/stitched_result_with_su7.jpg # Should exist after successful run
```
### Expected Output Files
After successful execution, you should see:
```
build/
├── front_undis.jpg # Undistorted front view
├── back_undis.jpg # Undistorted back view
├── left_undis.jpg # Undistorted left view
├── right_undis.jpg # Undistorted right view
├── bird_front_2.jpg # Front bird's eye view
├── bird_back_2.jpg # Back bird's eye view
├── bird_left_2.jpg # Left bird's eye view
├── bird_right_2.jpg # Right bird's eye view
└── stitched_result_with_su7.jpg # Final panoramic result
```
## Troubleshooting
### OpenCV Not Found
```
CMake Error: Could not find OpenCV
```
**Solution:**
- Verify OpenCV installation: `pkg-config --modversion opencv`
- Set OpenCV path manually: `export OpenCV_DIR=/path/to/opencv`
- Reinstall OpenCV development packages
### Build Errors
```
error: opencv2/opencv.hpp: No such file or directory
```
**Solution:**
- Install OpenCV development headers
- Check include paths in CMakeLists.txt
- Verify compiler can find OpenCV includes
### Runtime Errors
```
error while loading shared libraries: libopencv_core.so
```
**Solution:**
- Update library path: `sudo ldconfig`
- Add to LD_LIBRARY_PATH: `export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH`
### Permission Errors
```
Permission denied: ./scripts/build.sh
```
**Solution:**
```bash
chmod +x scripts/*.sh
```
### Missing Input Images
```
[ERROR] Unable to read input image files
```
**Solution:**
- Ensure input images exist in `assets/images/`
- Check file permissions and formats (PNG/JPG supported)
- Verify image files are not corrupted
## Performance Optimization
### Build Optimizations
For maximum performance, build in Release mode:
```bash
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
```
### Runtime Optimizations
- Use SSD storage for faster I/O operations
- Ensure sufficient RAM to avoid swapping
- Close unnecessary applications during processing
## Next Steps
After successful installation:
1. **Read the Documentation**: Check `README.md` for usage instructions
2. **Try Custom Images**: Replace sample images with your own fisheye images
3. **Explore Configuration**: Review camera parameters in the source code
4. **Contribute**: See `CONTRIBUTING.md` for development guidelines
## Getting Help
If you encounter issues:
1. Check this troubleshooting section
2. Search existing GitHub issues
3. Create a new issue with detailed error information
4. Include your system information and build logs