
sbmp:用 C 编写的命令行图像处理工具
来源标题:A tool written in C to edit pictures in terminal
sbmp 是一款免费的命令行图像编辑工具,仅依赖 SDL2。它支持灰度、高斯模糊、锐化、Sobel 边缘检测等一元操作,并可选择无图形界面编译(make nogui)。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
sbmp 是一个免费的简易命令行图像处理程序。sbmp 仅依赖 SDL2,编译前必须先安装 SDL2。运行 make 即可编译 sbmp。也可以用 make nogui 编译出不带任何图形界面的版本。
img 库 img.h 是 sbmp 使用的 stb 风格 header-only 库。在 Makefile 中或通过宏,可以指定核心数 NCORES,以及 COLOR_CHOSE_FUNC——即 rgb2ind 中用于为每个平行六面体选择颜色的函数,其签名必须为 static void func(const parallelepiped_t *p, const int *src, float out[3]);。默认 NCORES=8,COLOR_CHOSE_FUNC=average。
用法:./sbmp INPUT [-o OUTPUT] [options...] -o FILE 输出图像 -h 帮助
一元操作: -g 灰度化 -G N[:S] 用高斯核 N 卷积,可选 sigma S -A N 用均值核 N 卷积 -S 用锐化核卷积 -x 用 Sobel X 核卷积 -y 用 Sobel Y 核卷积 -m Sobel 幅值(在灰度图上) -O Sobel 方向(在灰度图上,以 HSV 可视化) -p K 乘以标量 K(饱和) -a K 加上标量 K(饱和) -s 平方 -r 平方根 -R 重缩放到 [0,255] -i N 生成含 N 色调色板的索引图像 -d N 用 N 色调色板做抖动 -e SE 腐蚀 SE:square:N | disk:R | N -l SE 膨胀 -k SE 开运算(先腐蚀后膨胀) -c SE 闭运算(先膨胀后腐蚀)
二元操作:-B IMG 取最小 -T IMG 取最大 -D IMG 饱和加 -E IMG 平均(归一化和) -F IMG 饱和减 -H IMG 绝对差 -J IMG 乘法(归一化)
示例 将图像转换为灰度图并写入磁盘 ./sbmp ./imgs/lena.ppm -g -o ./imgs/lena-gray.ppm 应用高斯模糊 ./sbmp ./imgs/baboon.ppm -G 5 锐化图像并写入磁盘 ./sbmp ./imgs/peppers.ppm -S -o ./imgs/peppers-sharpened.ppm 在灰度图上计算 Sobel 幅值并写入磁盘 ./sbmp ./imgs/peppers.ppm -g -m -o ./imgs/peppers-mag.ppm 将像素值乘以标量 ./sbmp ./imgs/peppers2.ppm -p 2
许可证 本项目采用 BSD 3-Clause 许可证——详情请参阅 LICENSE 文件。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。