AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题

问题[imagemagick](coding)

Martin Hope
Rasec Malkic
Asked: 2025-03-07 15:55:21 +0800 CST

如何根据图像高度的百分比在图像底部添加一个带?

  • 5

如何在图像底部添加红色条带,而不管其尺寸如何?在本例中,我有一张 16x9 的图像,我想在图像底部添加一条红色条带,其宽度与原始图像相同,高度约为原始图像的 20%,同时保持图像质量不变。

我目前的尝试是将红色带的高度精确地设置为 100 像素,但不知道如何精确地设置 20%,因为我有不同大小的图像。

magick input.jpg -coalesce -gravity South -background red -splice 0x100 output.jpg

然后,如果输入图像是这样的

在此处输入图片描述

我希望得到这样的输出

在此处输入图片描述

imagemagick
  • 1 个回答
  • 28 Views
Martin Hope
Sulli
Asked: 2024-12-15 22:10:15 +0800 CST

使用 ImageMagick 的蒙版为图像的特定区域着色

  • 5

我正在尝试使用 ImageMagick 根据蒙版为图像的特定区域着色。蒙版包含图像应着色的白色像素和不应着色的黑色像素。

我尝试过的命令:

magick convert input_image.png mask.png -alpha off -compose CopyOpacity -composite -fill "#FF5733" -colorize 100% output_image.png

问题:

  • 整个图像都变得彩色,而不仅仅是蒙版定义的白色区域。

系统信息:

  • 操作系统:Windows 10
  • ImageMagick 版本:7.1.0-27
imagemagick
  • 1 个回答
  • 16 Views
Martin Hope
jsx97
Asked: 2024-07-16 04:04:36 +0800 CST

ImageMagick‘montage’:如何水平附加图像并在它们之间添加空间?

  • 6

我需要水平添加两张图片,即在左侧和右侧,并在它们之间添加空间。这是我目前为此使用的方法:

magick montage input1.png input2.png -geometry +10+0 output.png

但有一个问题:-geometry +10+0不光在内侧增加空间,在外侧也增加空间。

magick -size 100x150 xc:red  image1.png
magick -size 100x150 xc:gree image2.png
magick montage input1.png input2.png -geometry +10+0 output.png

在此处输入图片描述

(为了清晰起见添加了边框。)

而我想要的是

在此处输入图片描述

我可以使用 来实现它-trim,但-trim对于某些图像来说,这并不方便,例如,如果图像是书页,而您不想删除它们的边距。所以我想知道是否可以使用它来实现-geometry。可能吗?

imagemagick
  • 1 个回答
  • 7 Views
Martin Hope
jsx97
Asked: 2024-05-29 15:30:53 +0800 CST

批量转换图像而不使用“for”循环

  • 6

为了批量转换图像,我使用for循环:

for f in *.(jpg|png); do magick $f -resize 64x64\> output-folder/$f; done

注意我使用 Zsh。如果你使用 Bash,你需要*.{jpg,png}但不需要*.(jpg|png)

但也许有一种更简单的方法,由 ImageMagick 或 shell 本身提供?像这样的东西:

# Doesn't work
magick *.{jpg,png} -resize 64x64\> output-folder/
imagemagick
  • 1 个回答
  • 22 Views
Martin Hope
Jeshua Lacock
Asked: 2024-05-06 06:51:27 +0800 CST

具有不透明度的更有效的图像合成?

  • 5

 我需要使用 50% 的不透明度在基础图像之上合成一个柔光层。以下方法有效,但是是否有更快或更有效的方法来实现相同的目标?

magick base.tif -alpha Off -compose SoftLight softlight.tif -composite fullSoftLightComp.tif
magick base.tif fullSoftLightComp.tif -compose dissolve -define compose:args=50,100 -composite compHalfLight.tif
imagemagick
  • 1 个回答
  • 18 Views
Martin Hope
jim_e_jib
Asked: 2024-04-20 05:44:33 +0800 CST

使用 ImageMagick 比较时显示错误

  • 5

我已经使用 ImageMagick 从 .tif 创建了我希望的无损 .jp2 文件。

for %%a in (*.tif) do magick "%%a" -quality 0 "%%~na.jp2"

我想检查转换是否无损,因此使用了以下命令:

for %%a in (*.jp2) do magick compare -verbose "%%a" "%%~na.tif" -metric RMSE

列出两个文件的详细信息后,返回一个错误:

magick 比较 -verbose "DSC09906.jp2" "DSC09906.tif" -公制 RMSE DSC09906.jp2 JP2 5463x3851 5463x3851+0+0 16 位 sRGB 84.1136MiB 7.566u 0:07.566 DSC09906.tif TIFF 5463 x3851 5463x3851+0+0 16-位真彩色 sRGB 120.385MiB 0.126u 0:00.126 比较:`RMSE' @ error/compare.c/CompareImagesCommand/1159

这个错误是两个文件之间的差异(我希望是 0)还是我要求进行比较的方式犯了错误?

非常感谢 :-)

imagemagick
  • 1 个回答
  • 17 Views
Martin Hope
Jeshua Lacock
Asked: 2023-12-02 08:18:06 +0800 CST

ImageMagick 从灰度图像创建 RGB 图像

  • 5

我有一个 32 位浮点 TIFF 图像,当我尝试使用 ImageMagick 调整它时,它会创建一个 sRGB 图像。无论我尝试什么,我都无法调整创建灰度图像的图像。奇怪的是,我用同一个软件以同样的方式创建了其他 TIFF 图像,但它们没有出现问题。

> identify grayImage.tif
grayImage.tif TIFF 4096x3283 4096x3283+0+0 32-bit Grayscale Gray 51.3417MiB 0.000u 0:00.000

如果我运行 Convert 或 magick 而不进行任何调整,它会写入灰度图像。但如果我尝试调整级别或伽玛,它会写入 sRGB 图像:

> magick grayImage.tif -gamma 0.96 grayImageOut.tif

> identify grayImageOut.tif
grayImageOut.tif TIFF 4096x3283 4096x3283+0+0 32-bit sRGB 153.892MiB 0.000u 0:00.000

我尝试将颜色空间设置为灰度,但生成的图像仍然是 RGB:

> magick grayImage.tif -gamma 0.96 -set colorspace Grayscale  grayImageOut.tif

我尝试提取R通道,输出仍然是sRGB:

> magick grayImage.tif -gamma 0.96 -channel R -separate -set colorspace Grayscale grayImageOut.tif

> identify grayImageOut.tif
grayImageOut.tif TIFF 4096x3283 4096x3283+0+0 32-bit sRGB 153.892MiB 0.000u 0:00.000

如何解决此问题并创建灰度图像?

imagemagick
  • 1 个回答
  • 28 Views
Martin Hope
Rasec Malkic
Asked: 2023-12-02 03:38:41 +0800 CST

如何像魔棒工具一样给相似的颜色区域上色?

  • 5

请帮忙解决这个问题。我想隔离区域以找到一些基于颜色的坐标,以便稍后裁剪感兴趣的区域。具体来说,(第一)我想用黑色着色相似的灰色区域和(第二)之间的“1像素”高度线,以便步骤1和2之后的黑色区域像下面所示的输出一样连接。

当我使用 Paint.net 等图像编辑器和选择工具分析下面的图像时magic wand,将其定位在容差为 32% 的位置(x=395,y=190)时,会选择相似的灰色区域。然后我可以手动着色黑色为所选区域。

Magick Wand 工具在 Paint.net 中选择具有 32% 公差的相似灰色

在此输入图像描述

我在Fred 的脚本magicwand中找到了该方法,并尝试使用 logo2.png 发送示例,但显示未找到命令,然后我无法尝试使用我的输入图像。

我在 Windows 下的 cygwin 中运行 IM。

$ convert -version
Version: ImageMagick 7.0.10-61 Q16 x86_64 2023-05-13 https://imagemagick.org
Copyright: (C) 1999-2021 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(4.5)
Delegates (built-in): bzlib cairo djvu fftw fontconfig fpx freetype gslib gvc heic jbig jng jp2 jpeg lcms lqr lzma openexr pangocairo png ps raqm raw rsvg tiff webp x xml zlib



$ magicwand 160,200 -t 25 -f image -r inside -m edge -c red logo2.png logo2_out.png
-bash: magicwand: command not found

原始输入图像。

在此输入图像描述

预期输出:

在此输入图像描述

imagemagick
  • 1 个回答
  • 30 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve