
5分钟上手 Primitive从安装到生成第一张几何图形画的快速入门教程【免费下载链接】primitiveReproducing images with geometric primitives.项目地址: https://gitcode.com/gh_mirrors/pr/primitivePrimitive是一个用 Go 编写的开源几何图形画工具它能用三角形、矩形、椭圆等几何图元“重现”任意一张照片——无论是蒙娜丽萨还是沙漠日落最终都会被渲染成一幅富有艺术感的抽象几何图形画。本教程面向零基础新手全程只需一条命令5 分钟即可在自己的电脑上生成第一张几何图形画。Primitive 是什么用简单图形“画”出照片Primitive 的工作原理非常直观给它一张目标照片算法在空白画布上一次只画一个形状每次都寻找能最小化画布与目标图像误差的最优几何图元并落笔。通常 50~200 个形状就能达到“既 recognizable 又艺术抽象”的效果。下面这张日落照片就是一张普通输入图经 Primitive 处理后会由三角形、椭圆等图元重组成一幅几何图形画这种风格源自经典的“蒙娜丽莎进化”实验而 Primitive 通过爬山法优化、扫描线光栅化与多形状支持让它在速度与效果上更进一步。安装 Primitive 工具三步完成唯一的前置条件是安装 Go 语言环境从 Go 官网下载对应系统的安装包即可。然后获取代码并构建git clone https://gitcode.com/gh_mirrors/pr/primitive cd primitive go build构建完成后得到primitive可执行文件它就是几何图形画工具的命令行入口。所有命令行参数都在 main.go 的init()函数中定义想弄清每个标志的含义时可以直接翻源码。第一条命令生成你的第一张几何图形画项目 examples/ 目录自带了几张示例图直接用 examples/monalisa.png 当输入即可primitive -i examples/monalisa.png -o output.png -n 100稍等片刻时间取决于机器性能当前目录就会出现output.png——一幅由 100 个几何形状拼成的蒙娜丽萨。几个实用小贴士输入图用小尺寸256x256 就够既跑得快又不会损失观感-r参数可控制上限默认 256输出尺寸用-s指定默认 1024并行 worker用-j控制默认吃满所有 CPU 核心常用参数速查玩转 -n 与 -m对几何图形画结果影响最大的是-n形状数量和-m形状模式两个参数参数默认值说明-i–输入图片路径-o–输出图片路径可多次指定-n–形状数量必填-m1形状模式见下表-r256输入图超过此尺寸会被缩放-s1024输出图片尺寸-a128形状透明度设为0由算法自动选择-bgavg背景色hex默认取图像平均色-j全核心并行 worker 数-v/-vv关详细输出方便观察生成过程-m的各档位对应不同的几何图元模式形状0combo混合形状1三角形2矩形3椭圆4圆形5旋转矩形6贝塞尔曲线7旋转椭圆8多边形比如想用纯三角形重新表达一只猫头鹰primitive -i examples/owl.png -o owl.png -n 150 -m 1每种图元的实现都单独放在 primitive/ 目录三角形见 primitive/triangle.go、椭圆见 primitive/ellipse.go、矩形见 primitive/rectangle.go。若你想新增形状只需实现统一的Shape接口primitive/shape.go即可。多格式一键导出PNG、SVG、GIFPrimitive 按输出文件后缀决定格式并且-o可以多次指定primitive -i examples/lenna.png -o out.png -o out.svg -o out.gif -n 100PNG / JPG位图输出直接查看SVG矢量输出放大不失真适合打印GIF能看到“一个形状一个形状加上去”的动态效果需要 ImageMagick 的convert命令逐帧保存文件名中带%d如out_%03d.png时每一步都会单独存一张帧图再配合-nth可以每 N 步存一张上面示例的输入正是图像处理界的经典测试图 examples/lenna.png工作原理几何图形画背后的“爬山法”Primitive 的核心算法简单而高效用目标图的平均颜色填满画布作为初始状态随机生成一个形状画在画布上用RMSE均方根误差与目标图打分不断变异形状微调三角形顶点、椭圆中心与半径等分数变好就保留变差就回退——这就是“爬山法”找到高分形状后把它固定到画布上再找下一个形状循环往复。每个形状的颜色由受影响像素直接计算得出primitive/core.go 中的computeColor打分也只看发生变化的像素因此速度很快。优化过程主要实现在 primitive/optimize.go画布与状态管理在 primitive/model.go。 算法带有随机成分同一张图多次运行会得到略有不同的结果——这恰好能让静态照片“活”起来形成微动画效果。项目结构导航路径说明main.go命令行入口与参数解析primitive/core.go画布绘制、颜色计算与误差评分核心primitive/optimize.go爬山法优化实现primitive/scanline.go扫描线光栅化primitive/worker.go并行 worker 调度bot/自动生成几何图形画并发布的 Python 机器人scripts/批量处理与网页发布脚本小结Primitive 是一个用几何图元重现照片的几何图形画工具Go 环境 一条命令即可上手-n控制形状数量、-m控制形状种类是调整风格的两个关键参数支持 PNG、SVG、GIF 与逐帧输出还能批量生成动态效果。不妨先用-n 100 -m 0体验混合形状再依次尝试纯三角形、圆形、贝塞尔曲线找到你最喜欢的几何图形画风格吧【免费下载链接】primitiveReproducing images with geometric primitives.项目地址: https://gitcode.com/gh_mirrors/pr/primitive创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考