# FishEyeCorrection **Repository Path**: lv-shuliang/fish-eye-correction ## Basic Information - **Project Name**: FishEyeCorrection - **Description**: opencv实时鱼眼矫正测试4K矫正 瑞芯微RK3588 仅20ms 完全满足实时画面效能 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FishEyeCorrection [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 一个基于OpenCV的高性能鱼眼相机图像矫正工具,支持多种相机模型和OpenCL加速。 **Copyright (c) 2024 西安鹿寻科技** ## 功能特性 - 🎯 **多相机模型支持** - PINHOLE(针孔相机模型) - FISHEYE(鱼眼相机模型) - OMNIDIR(全向相机模型,框架已准备) - ⚡ **高性能处理** - OpenCL GPU加速支持 - 预计算映射表缓存机制 - 批量图像处理 - 🔧 **灵活配置** - JSON格式相机参数配置 - 支持14参数畸变模型(k1-k6, p1-p2, s1-s4, tilt_x, tilt_y) - 命令行参数配置 - 📦 **易于使用** - 简单的命令行接口 - 详细的处理统计信息 - 完整的文档和示例 ## 效果展示 ### 矫正前后对比 | 原始鱼眼图像(输入) | 矫正后图像(输出) | |:---:|:---:| | ![原始鱼眼图像](test/Fisheye1_1.jpg) | ![矫正后图像](test/corrected.jpg) | **使用命令**: ```bash ./fisheye_correction -i test/Fisheye1_1.jpg -o test/corrected.jpg ``` ## 系统要求 - **操作系统**: Linux / Windows / macOS - **编译器**: 支持C++17的编译器(GCC 7+, Clang 5+, MSVC 2017+) - **依赖库**: - OpenCV 4.0+(需要calib3d模块) - CMake 3.16+ ## 快速开始 ### 编译安装 ```bash # 克隆仓库 git clone cd FishEyeCorrection # 创建构建目录 mkdir build && cd build # 配置CMake cmake .. # 编译 make # 安装(可选) sudo make install ``` 详细编译说明请参考 [docs/BUILD.md](docs/BUILD.md)。 ### 基本使用 ```bash # 使用默认参数处理图像 ./fisheye_correction # 指定输入和输出目录 ./fisheye_correction -i /path/to/input -o /path/to/output # 指定相机ID ./fisheye_correction -c 40584 -i ./test -o ./output ``` ## 配置说明 相机参数配置文件位于 `config/camera_params.json`,格式如下: ```json { "Camera pinhole model": { "cam_0": { "fx": 336.98, "fy": 336.66, "cx": 543.40, "cy": 378.12, "k": [k1, k2, k3, k4, k5, k6], "p": [p1, p2], "s": [s1, s2, s3, s4], "Tilt_xy": [tilt_x, tilt_y] } } } ``` 详细配置说明请参考 [docs/API.md](docs/API.md)。 ## 命令行参数 ``` Usage: fisheye_correction [options] Options: -i, --input Input directory (default: ../test) -o, --output Output directory (default: ../output) -c, --camera Camera ID (default: 40584) -h, --help Show this help message ``` ## 项目结构 ``` FishEyeCorrection/ ├── CMakeLists.txt # CMake构建配置 ├── README.md # 项目说明文档 ├── LICENSE # MIT许可证 ├── CHANGELOG.md # 版本变更日志 ├── include/ # 头文件目录 │ ├── camera_params.h # 相机参数定义 │ └── image_correction.h # 图像矫正接口 ├── src/ # 源文件目录 │ ├── camera_params.cpp # 相机参数实现 │ ├── image_correction.cpp # 图像矫正实现 │ └── main.cpp # 主程序入口 ├── config/ # 配置文件目录 │ └── camera_params.json # 相机参数配置 ├── docs/ # 文档目录 │ ├── BUILD.md # 编译说明 │ ├── API.md # API文档 │ └── EXAMPLES.md # 使用示例 ├── examples/ # 示例代码目录 │ └── basic_usage.cpp # 基础使用示例 └── test/ # 测试数据目录 └── Fisheye1_1.jpg # 测试图像 ``` ## 文档 - [编译说明](docs/BUILD.md) - 详细的编译和安装指南 - [API文档](docs/API.md) - 完整的API参考文档 - [使用示例](docs/EXAMPLES.md) - 代码示例和使用场景 ## 性能优化 - **OpenCL加速**: 自动检测并使用GPU加速(如果可用) - **映射表缓存**: PINHOLE模型使用预计算映射表,大幅提升处理速度 - **批量处理**: 支持一次性处理整个目录的图像 ## 常见问题 ### Q: 如何检查OpenCL是否可用? A: 程序启动时会自动检测并输出OpenCL状态。如果显示"OpenCL unavailable, using CPU",说明系统不支持OpenCL,将使用CPU处理。 ### Q: 支持哪些图像格式? A: 目前支持JPG、JPEG、PNG、BMP格式。 ### Q: 如何配置相机参数? A: 编辑 `config/camera_params.json` 文件,参考配置文件示例。 更多问题请参考 [docs/BUILD.md](docs/BUILD.md) 中的常见问题部分。 ## 贡献 欢迎贡献代码!请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)(如果存在)了解贡献指南。 ## 许可证 本项目采用 [MIT许可证](LICENSE)。 Copyright (c) 2024 西安鹿寻科技 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交Issue - 发送Pull Request --- **西安鹿寻科技** - 专业的计算机视觉解决方案提供商