triangle

一键把照片变成低多边形艺术,效果惊艳

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 设计创意 🍴 复刻 109 🐛 待处理 2 👀 关注 24
GitHub ↗
GitHub 星标 ★ 2071
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

triangle 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类设计创意
开发团队esimov
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Go
技术栈/模型delaunay,generative,generative-art,golang,image-processing,pixel,triangle,triangulation
GitHub 星标★ 2071
上线时间2017-08-26 00:00:00
代码更新2024-10-24
仓库体积18.1 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数6

项目介绍

triangle 是一个用 Go 语言编写的命令行工具,能将普通图片转换成由德劳内三角剖分算法生成的计算机艺术风格图像。它解决了用户快速将照片或图像转化为低多边形(low-poly)风格艺术作品的需求,无需手动处理复杂的几何计算。核心能力包括:读取常见图片格式,通过采样像素点并应用德劳内三角剖分生成三角形网格,然后以每个三角形的平均颜色填充,最终输出具有现代感和抽象感的三角化图像。项目提供了可调节的参数,如采样点数、颜色模式等,让用户控制生成的细节程度和视觉效果。整体上,triangle 是一个简单易用、效果直观的图像风格化工具,适合设计师、艺术家和编程爱好者快速生成创意素材。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2071

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 5 步

环境要求

  • 已安装 Go 环境(用于 go install 方式安装)
  • macOS 用户可改用 Homebrew 安装
  • 准备一张待转换的源图片(如 input.jpg),需为常见图片格式
  • 如需二次开发,需具备 Go 语言基础

安装与启动步骤

  1. 1用 go install 安装

    README 给出的官方安装方式,直接拉取 v2.0.0 版本的可执行命令行程序到 GOPATH/bin。

    go install github.com/esimov/triangle/v2/cmd/triangle@v2.0.0
  2. 2macOS 用 Brew 安装

    macOS 用户可通过 Homebrew 安装,无需自行配置 Go 环境,命令简短。

    brew install triangle
  3. 3或下载预编译二进制

    不想装 Go 环境时,可从 GitHub releases 页面下载对应平台的二进制文件直接使用。

  4. 4转换图片

    用 -in 指定源图片,也可直接传入图片 URL;工具会自动识别输入与输出文件类型,无需手动指定格式。README 节选未给出完整命令行示例,具体输出参数请以项目帮助信息为准。

  5. 5在 Go 代码中调用

    以库的方式集成:创建 Processor 配置采样点数、模糊半径等参数,再 DecodeImage、Draw 生成三角化图像并编码输出。

    proc := &triangle.Processor{
        MaxPoints:  2500,
        BlurRadius: 2,
        PointRate:  0.75,
        BlurFactor: 1,
        EdgeFactor: 6,
    }
    
    img := &triangle.Image{
        Processor: *proc,
    }
    
    input, err := os.Open("input.jpg")
    if err != nil {
        log.Fatalf("error opening the source file: %v", err)
    }
    
    src, err := img.DecodeImage(input)
    if err != nil {
        log.Fatalf("error decoding the image: %v", err)
    }
    res, _, _, err := img.Draw(src, *proc, func() {})
    if err != nil {
        log.Fatalf("error generating the triangles: %v", err)
    }
    
    output, err := os.Create("output.png")
    if err != nil {
        log.Fatalf("error opening the destination file: %v", err)
    }
    
    png.Encode(output, res)

关键配置

配置项必填说明示例
MaxPoints否三角剖分使用的最大采样点数,越大细节越多2500
BlurRadius否高斯模糊半径,模糊越强输出越弥散2
PointRate否采样点比例,控制生成三角形的密度0.75
BlurFactor否模糊因子,影响边缘柔化程度1
EdgeFactor否边缘检测权重,决定边缘像素的保留强度6

如何确认成功

命令行安装完成后可执行 triangle 命令;处理图片后在输出路径生成图像文件(如 output.png),用图片查看器打开确认已变为三角形风格。

常见问题

Q:没有 Go 环境可以安装吗?

A:可以。macOS 用 brew install triangle,其他平台可从 GitHub releases 下载预编译二进制文件,直接运行即可。

Q:支持哪些输入格式?

A:支持多种常见图片类型,且无需手动指定文件类型,工具会自动识别输入和输出的图片格式。

Q:输入图片能是网络地址吗?

A:可以,-in 参数支持直接传入图片 URL,工具会下载后再进行三角化处理。

Q:能输出矢量图吗?

A:可以,生成的图像支持保存为 SVG 文件,方便后续在矢量软件中编辑。

注意事项

  • go install 方式需要本机已配置好 Go 环境及 GOPATH/bin 在 PATH 中。
  • 工具可以递归并发处理整个目录及其子目录中的图片。
  • 生成流程依次为模糊、灰度化、Sobel 边缘检测、卷积调整与德劳内三角剖分。
  • 本教程未涉及的命令行参数因 README 节选未提供,请查阅项目 releases 或帮助信息确认。

核心亮点

  • 纯 Go 实现,单二进制文件,跨平台易部署
  • 算法成熟,生成效果稳定,艺术风格鲜明
  • 提供命令行参数,可调节采样密度和颜色模式

不足之处

  • 文档/社区待观察
  • 功能相对单一,仅支持三角化风格,无更多滤镜或导出选项

适用场景

  • 设计师快速生成低多边形风格素材
  • 开发者学习德劳内三角剖分算法的实践案例
  • 批量处理图片生成艺术效果用于社交媒体

替代项目

ImageTriangulation、Low-Poly Generator、triangulate

上一篇:TheChosenOne

下一篇:nft-generator-py

同类项目推荐

com.doji.diffusers 开源

在Unity里直接跑Stable Diffusion,无需后端

A Unity package to run pretrained diffusion models with Unity Sentis

★ 66 2026-08-09
photo-revival 开源

把日常照片一键变成诗意手绘插图,文艺感拉满

Codex skill for turning everyday photos into poetic white-paper hand-drawn illustrat···

★ 607 2026-08-09
ComfyUI-DyPE 开源

ComfyUI 里一键把文生图拉到 4K+,告别重复纹理和崩坏

ComfyUI DyPE+SEGA, enabling artifact-free 4K+ image generation: Z-Image, Qwen, Flux,···

★ 631 2026-09-16
comfyui-krea2edit 开源

在 ComfyUI 里按指令改图,主体身份不跑偏

Instruction-based, identity-preserving image editing for Krea 2 in ComfyUI — nodes ···

★ 770 2026-10-30
text-guided-image-colorization 开源

上传图片,指定对象颜色,一键生成彩色图像

This repository provides an interactive image colorization tool that leverages Stabl···

★ 108 2026-08-09
clarity-upscaler 开源

糊图一键变高清,免费开源随便用

Clarity AI | AI Image Upscaler & Enhancer - free and open-source Magnific Alternativ···

★ 5172 2026-08-09
flutter_scribble 开源

涂鸦秒变精美图像,AI 帮你实现创意

Turn your scribbles into detailed images with AI

★ 55 2026-08-09
Forgedit 开源

用一句话改图,不用蒙版,AI 帮你搞定

The first paper discovered and applied Diffusion UNet's Disentanglement on structure···

★ 284 2026-08-09
RAT-GAN 开源

用文字描述,生成对应图像

A conditional GAN for text-to-image

★ 53 2026-08-09