# @go/vision 极致精简、工业级的高性能图像处理与全能媒体工具集。 ## 🎯 设计哲学 `go/vision` 致力于消除 Go 语言在媒体处理领域的摩擦。通过纯 Go 的核心算法与标准化的外部工具编排,提供一套语义一致、零摩擦、高性能的 API 体系。 * **零摩擦**: 自动探测/引导环境准备(如 FFmpeg),一键式识别与转换。 * **工业级**: 错误驱动架构(No internal logging),完备的单元测试覆盖。 * **全能型**: 涵盖静态图、动图、视频、扫码、色彩分析与几何变换。 ## 🚀 核心能力 ### 1. 基础绘图与画布 (Canvas) * **流式 API**: 支持矩形、圆角、路径、点/线、阴影、暗角等绘制。 * **现代文本**: 内置 `CompositeFace`,完美支持多字体回退 (Fallback) 与中英文混排。 ### 2. 图像处理与变换 * **几何变换**: 缩放 (Resize/Fit/Fill)、旋转、镜像、**4 点透视变换 (WarpPerspective)**。 * **高级滤镜**: 模糊、锐化、灰度、亮度/对比度、怀旧 (Sepia)、像素化。 * **色彩分析**: 调色板提取 (`ExtractPalette`)、平均色计算。 ### 3. 智能视觉 (Intelligence) * **码码识别**: 集成 QR Code、条形码 (Code128, UPC/EAN) 的生成与自动解码识别。 * **感知哈希 (PHash)**: 基于图像特征的指纹计算,用于海量图片相似度查重。 * **验证码引擎**: 高强度抗 OCR 图形验证码生成。 ### 4. 动态媒体 (Animation & Video) * **GIF 引擎**: 高质量 GIF 序列生成,内置 `Plan9` 调色板与 `Floyd-Steinberg` 抖动。 * **视频编排**: 基于 FFmpeg 的视频帧提取与合成,支持多平台二进制自动引导。 ## 📦 安装 ```bash go get apigo.cc/go/vision ``` ## 💡 快速开始 ### 扫码识别 ```go c, _ := vision.Load("code.jpg") content, err := c.DecodeAll() // 自动尝试 QR 和条码 ``` ### 视频帧处理 ```go v, _ := vision.NewVideo() frame, _ := v.ExtractFrame("video.mp4", 5.0) frame.Grayscale() vision.Save(frame, "snapshot.png") ``` ### 提取主色调 ```go palette := canvas.ExtractPalette(5) for _, c := range palette { fmt.Println("发现主色:", c.Hex) } ``` ## 🛠 API 概览 | 模块 | 主要 API | | :--- | :--- | | **Canvas** | `New`, `Load`, `Save`, `Clear`, `Sub`, `Clone`, `Put` | | **Draw** | `Rect`, `RoundedRect`, `Circle`, `Line`, `Path`, `RandBG` | | **Effect** | `Resize`, `Rotate`, `Blur`, `Sharpen`, `AdjustBrightness`, `Grayscale` | | **Recognition** | `DecodeQRCode`, `DecodeBarcode`, `DecodeAll`, `PHash`, `Distance` | | **Media** | `NewAnimation`, `NewVideo`, `ConvertAll`, `Optimize` | --- 本项目由 AI 驱动开发与维护,遵循极致的代码质量与性能标准。