linux - 提取在 2 个图像之间变化的像素并使用图像魔法转换保存到新的图像,同时保持原始颜色
问题描述
我试图获得 2 个图像之间的差异并将其保存到一个新的图像以更快地传输文件。
但是当使用此命令获得差异时compare -compose src /tmp/.send.png ~/.cache.png .difference.png
它可以工作但所有改变的东西都是红色的?我怎样才能使它成为原始颜色或使它不改变图像的颜色?
解决方案
不清楚你想要什么结果。以下是 ImageMagick 中的两种不同方式。图 2 中添加了一个蓝色的小方块。
以下是 Unix 语法。Windows 语法略有不同。如果使用 ImageMagick 7,请将 convert 替换为 magick。
输入 1:
输入 2:
convert lena.png lena_blue.png \
\( -clone 0,1 -compose difference -composite -colorspace gray \) \
-delete 1 \
\( -clone 0 -fill green1 -colorize 100 \) \
+swap -compose over -composite \
lena_diff.png
以绿色突出差异:
将图像涂黑,但差异除外:
convert lena.png lena_blue.png \
\( -clone 0,1 -compose difference -composite -colorspace gray -threshold 0 \) \
-delete 1 \
+swap -compose multiply -composite \
lena_diff2.png
推荐阅读
- python - 一个 Wagtail 模型的多个 ModelAdmins
- r - 如何确定混合模型的第二个 beta 值,包括 H() 和 Geyer() 以使用 spatstat 进行模拟
- c# - 创建数据库克隆时出现异常
- python - 使用工厂模式时的条件参数
- python - Azure eventthub 到 NoSQL 数据库
- python - 多处理池挂起
- python - 将 metrics=["accuracy"] 添加到 keras 模型时出现 ValueError
- ios - AVAudioEngine 停止后连接 AVAudioUnitSampler 并再次启动崩溃
- flutter - Flutter:PageView保持停留在上一个屏幕
- docker - 在容器中执行一个脚本后如何退出容器