triangle

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

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

开源 free 设计创意
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2070
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类设计创意
开发团队esimov
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Go
技术栈/模型delaunay,generative,generative-art,golang,image-processing,pixel,triangle,triangulation
GitHub 星标★ 2070
30天Star增速
HF 下载量
上线时间2017-08-26 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:入门 约 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

项目介绍

triangle 是图像领域的开源项目,由 esimov 开发,2017 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(2,070)位列前 30%,在图像分类的 839 个项目里位列前 9%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:设计师快速生成低多边形风格素材。同类可对比的替代方案包括 ImageTriangulation、Low-Poly Generator、triangulate。

上一篇:TheChosenOne

下一篇:nft-generator-py

同类项目推荐

satori 开源

网页代码一键变高清图,放大不糊,不用截图

Enlightened library to convert HTML and CSS to SVG

★ 13967 2026-08-09
C2GAN 开源

用关键点精准控制图像生成,让AI画出你想要的结构

[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···

★ 70 2026-08-09
ComfyUI 开源

像搭积木一样连节点,生图流程自己搭

The most powerful and modular diffusion model GUI, api and backend with a graph/node···

★ 134493 2026-08-09