ci: fix moon info command flags in GitHub Actions workflow
moonbit-feature-forge 是一个完全基于 MoonBit 原生构建的高性能 2D 局部特征提取、描述与鲁棒匹配引擎。该引擎专为 WebAssembly 跨平台计算与高性能图像处理设计,无需外部原生 C/C++ 依赖,实现了包括 FAST-9 角点检测、强度质心法方向计算、旋转 BRIEF 256 位二进制描述子 (ORB)、Hamming 距离高效匹配以及 RANSAC 2D 仿射变换估计等全套计算机视觉核心算法。
moonbit-feature-forge
+-----------------------+ | GrayImage Input | +-----------+-----------+ | v +-----------------------+ | FAST-9 Corner Detect | | (Bresenham + NMS Nbr) | +-----------+-----------+ | v +-----------------------+ | Intensity Centroid | | Orientation Calculation| +-----------+-----------+ | v +-----------------------+ | Rotated BRIEF 256bit | | Descriptor Extraction | +-----------+-----------+ | v +-----------------------+ | Hamming Match & Ratio | | Cross-Check Filter | +-----------+-----------+ | v +-----------------------+ | RANSAC Affine Model | | Outlier Rejection Fit | +-----------------------+
确保本地已安装最新的 MoonBit 工具链:
moon version
# 格式化代码 moon fmt # 严格类型检查 (无 Warning) moon check --deny-warn # 导出接口检查 moon info --deny-warn
moon test
moon run cmd/main
示例输出:
========================================================== MoonBit Feature Forge: High Performance Feature Engine ========================================================== Initializing synthetic images (120x120 pixels)... Step 1: Extracting FAST keypoints & ORB 256-bit descriptors... -> Image 1 detected 36 keypoints & descriptors. -> Image 2 detected 36 keypoints & descriptors. Step 2: Performing Hamming distance matching & ratio test... -> Found 36 valid feature match pairs. Step 3: Executing RANSAC 2D affine model fitting & inlier filtering... -> RANSAC Inlier Count: 36 -> Inlier Ratio: 100% -> Estimated Affine Matrix: [a: 1, b: 0, tx: 4] [c: 0, d: 1, ty: 3] ========================================================== Pipeline execution finished successfully!
import @Myyafa/moonbit-feature-forge as forge fn example() { // 1. 创建灰度图像 let img1 = @forge.GrayImage::new(100, 100) let img2 = @forge.GrayImage::new(100, 100) // 2. 提取特征点与 ORB 描述子 let (kps1, descs1) = @forge.extract_features(img1, 25) let (kps2, descs2) = @forge.extract_features(img2, 25) // 3. 特征匹配与 Ratio Test 筛选 let good_matches = @forge.match_and_filter(descs1, descs2, 0.8) // 4. RANSAC 几何拟合 let result = @forge.ransac_affine(good_matches, kps1, kps2, 100, 3.0) println("Found \{result.inliers.length()} robust inlier matches.") }
本项目基于 Apache License 2.0 许可证开源。
MoonBit 局部特征引擎 (FAST, BRIEF/ORB, Matching & RANSAC)
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MoonBit Feature Forge (局部特征引擎)
moonbit-feature-forge是一个完全基于 MoonBit 原生构建的高性能 2D 局部特征提取、描述与鲁棒匹配引擎。该引擎专为 WebAssembly 跨平台计算与高性能图像处理设计,无需外部原生 C/C++ 依赖,实现了包括 FAST-9 角点检测、强度质心法方向计算、旋转 BRIEF 256 位二进制描述子 (ORB)、Hamming 距离高效匹配以及 RANSAC 2D 仿射变换估计等全套计算机视觉核心算法。🌟 核心特性 (Key Features)
🏗️ 架构与设计 (Architecture)
🚀 快速开始 (Quick Start)
1. 环境准备 (Prerequisites)
确保本地已安装最新的 MoonBit 工具链:
2. 编译与检查 (Build & Check)
3. 运行测试 (Run Tests)
4. 运行演示程序 (Run Demo Benchmark)
示例输出:
📖 API 用法示例 (Usage Example)
📄 开源许可证 (License)
本项目基于 Apache License 2.0 许可证开源。