Linux下拉Level
584 1
[1 楼] icpic [禁言中]
5-17 21:09
我只会用 光影魔术手,还只会用它拉Level. 光影魔术手 没有 Linux版,但可以用imagemagickpinta.

-auto-level(自动色阶)之所以能让图片“看起来焕然一新”,是因为它重新利用了数字图像有限的动态范围,强行拉大了画面对比度。具体原理可以拆解为这三点:
1. 吃满“黑白极限”(动态范围拉伸)普通照片的像素亮度往往集中在中间灰度区(比如全图最暗只有 RGB 30,最亮只有 220)。-auto-level会找到当前图的实际最小值(映射为纯黑 0)和实际最大值(映射为纯白 255),把中间所有的像素按比例重新分配。原本“灰扑扑”的窄区间被强制拉伸到整个 0~255 的显示范围,明暗反差瞬间拉满。
2. 消除“色罩”与雾霾感(白平衡偏移修正)如果照片受环境光影响(如老照片泛黄、阴天偏青、手机夜景有黑底噪点),最暗点可能不是纯黑,最亮点也不是纯白,而是带有一种“色罩”。自动色阶在分别拉伸 R、G、B 三个通道时,会把这些通道的偏移量消除,相当于顺手做了一次强制白平衡,画面色彩会更通透。
3. 重塑中间调分布(直方图重映射)人的眼睛对明暗变化是非线性的。原图若大量像素挤在暗部(直方图左偏),画面会显得沉闷。-auto-level通过线性变换把这部分堆积的像素“摊开”,暗部细节(如阴影里的纹理)从难以分辨变成清晰的灰度,观感上会觉得通透、清晰且层次丰富。
代价提示:正因为它是“无脑”按当前图极值拉伸,如果原图存在极端的死黑像素或高光噪点(如几个纯白坏点),-auto-level会把它们当成基准,反而可能导致正常画面发灰。这种时候就需要切回手动 -level​ 来固定阈值(比如截断两端 2% 的数据)进行约束。

自动:magick input.jpg -auto-level result_auto.jpg
手动:magick input.jpg -level 10%,90%,1.2 result_manual.jpg

参数的含义如下:
1️⃣ 10%—— 黑场(Black Point):原图中亮度低于 10% 的所有像素,全部压成纯黑(0)
去掉暗部杂色、轻微雾感、阴影细节过重的区域
2️⃣ 90%—— 白场(White Point):原图中亮度高于 90% 的所有像素,全部拉成纯白(255)
作用:压制高光溢出、反光、发白的区域。为什么“压平高光” = 压制溢出 / 反光?
   ① 高光溢出(Clipping / Blowout)原图:天空、灯光、金属反光 → 94–100%
      问题:这些区域“死白”,但程度不同,看起来刺眼、细节乱
      把它们全部合并成同一块纯※※域,消除“渐变惨白”“硬过渡”,视觉上:高光变得更统一、更可控
   ② 反光 / 局部发白比如:玻璃反光 93%,纸面反光 96%
      原图:两块反光亮度不同 → 显脏、显乱,处理后:93%、96% → 都是 255,反光变成一块干净的※※。视觉上:“发花的高光” → “干净亮部”
   ③ 发白雾霾 / 灰蒙感原图亮部集中在 85–100%,但没到纯白
      人眼感知:灰白、不通透。把 ≥90% 强拉成 255:亮部“顶到头”,对比度相对提升,画面更“脆” (crisp)。
3️⃣ 1.2—— Gamma(中间调):控制中间灰度的亮度
1.0:不做中间调调整;<1.0:整体变亮(暗部提亮更多);>1.0:整体变暗(如你用的 1.2)

处理一批文件,如*.jpg时,可以使用 ImageMagick 内建 % 符号(文件名模板):
1️⃣ magick *.jpg -auto-level output/out_%03d.jpg
   # %03d表示 3 位数字,如001。
   # output目录需提前建好
2️⃣ magick *.jpg -auto-level -set filename:f "%f" "output/%[filename:f]"
   # %f代表原始文件名(含扩展名)

imagemagick有6.x和7.x两个系列,在Debian 12下apt install imagemagick后装的是6.x,两个版本的用法稍有不同:
1️⃣ 6.x是单独的convert, mogrify等命令。mogrify是覆盖原文件的convert,是transmogrify的简称。
2️⃣ 7.x是一条命令magick。"magick"≈"magick convert";"magick mogrify"≈6.x的mogrify

👉 “magick和 magick convert一样”——❌ 错误
magick input.jpg out.png:使用ImageMagick 7 原生新解析器(推荐),支持 HDRI、像素插值等新特性。
magick convert input.jpg out.png:v6 兼容模式(Legacy Mode)。IMv7 为了兼容旧脚本保留了该子命令,但它调用的是旧版 v6 的解析逻辑,行为可能与原生 magick有细微差异(如图像处理流水线、默认策略等)。
正确说法是:尽量只用 magick,弃用 magick convert。
👉 “magick mogrify和 6.x 的 mogrify一样”——不严谨
功能目的相同(批量原地处理),但 magick mogrify在 v7 下也是运行在 v7 引擎下(除非刻意用兼容模式)。
[2 楼] icpic [禁言中]
5-17 21:41
这个版好像水很深。所以特此声明:本人是外行;以上是从元宝的回答修改的。
除了pinta,还有像PS,但缺AI功能的GIMP.
pinta装起来比较麻烦:
出现 apt install pinta找不到包(通常提示 E: Unable to locate package pinta或 has no installation candidate),主要是因为 较新的 Ubuntu(如 24.04+)或 Debian 官方源中已移除了 Pinta,或者你的系统未开启 universe扩展仓库。
方法一:add-apt-repository ppa:inta-maintainers/pinta-stable # 出错
方法二:使用 Snap (一款通用包管理工具)
apt install snapd
systemctl enable snapd   # 开机自启
systemctl start  snapd   # 立刻启动
snap install pinta
snap run pinta
右上角菜单:
色阶……Ctrl+L
自动调整色阶……Shift+Ctrl-L