首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像魔法转换忽略了一些图像

图像魔法转换忽略了一些图像
EN

Stack Overflow用户
提问于 2017-04-05 09:51:29
回答 2查看 189关注 0票数 0

我正在使用这个命令来平放文件夹中的3张图片。

代码语言:javascript
复制
for pos1 in 1*.png; do  for pos3 in 3*.png; do  for pos6 in 6*.png; do convert -gravity center $pos1 $pos3 $pos6 -layers flatten  $pos1$pos3$pos6 ;done  ;done ;done

我的文件夹是这样的:

由于某些原因,imagemagick忽略了1*.png图像,并创建了一个只有$pos3$pos6的组合。这种行为的原因是什么,我该如何解决呢?我正在处理的图像是一些旧的图像魔术操作的产物。

更新:

经过一些更多的测试后,看起来错误似乎来自这样一个事实,即输入图像是command / come命令的输出(不记得我使用的是哪个命令)。不过,我不知道怎么解决这个问题。

标识命令输出(没有直方图):

代码语言:javascript
复制
Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 3843x3402+0+0
  Units: Undefined
  Type: TrueColorAlpha
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 8-bit
  Channel depth:
    red: 8-bit
    green: 8-bit
    blue: 8-bit
    alpha: 1-bit
  Channel statistics:
    Pixels: 13073886
    Red:
      min: 0 (0)
      max: 255 (1)
      mean: 246.072 (0.96499)
      standard deviation: 44.204 (0.173349)
      kurtosis: 23.2206
      skewness: -4.96363
      entropy: 0.0669139
    Green:
      min: 0 (0)
      max: 255 (1)
      mean: 246.072 (0.96499)
      standard deviation: 44.2038 (0.173348)
      kurtosis: 23.2205
      skewness: -4.96362
      entropy: 0.0669169
    Blue:
      min: 0 (0)
      max: 255 (1)
      mean: 246.072 (0.96499)
      standard deviation: 44.2038 (0.173348)
      kurtosis: 23.2207
      skewness: -4.96364
      entropy: 0.066917
    Alpha:
      min: 255 (1)
      max: 255 (1)
      mean: 255 (1)
      standard deviation: 0 (0)
      kurtosis: 0
      skewness: 0
      entropy: 0
  Image statistics:
    Overall:
      min: 0 (0)
      max: 255 (1)
      mean: 184.554 (0.723742)
      standard deviation: 38.2817 (0.150124)
      kurtosis: 150.659
      skewness: -25.8099
      entropy: 0.050187
  Rendering intent: Perceptual
  Gamma: 0.45455
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Background color: white
  Border color: srgba(223,223,223,1)
  Matte color: grey74
  Transparent color: none
  Interlace: None
  Intensity: Undefined
  Compose: Over
  Page geometry: 3843x3402+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: Zip
  Orientation: Undefined
  Properties:
    date:create: 2017-04-05T20:18:59+02:00
    date:modify: 2017-04-05T10:36:08+02:00
    png:bKGD: chunk was found (see Background color, above)
    png:cHRM: chunk was found (see Chromaticity, above)
    png:gAMA: gamma=0.45454544 (See Gamma, above)
    png:IHDR.bit-depth-orig: 8
    png:IHDR.bit_depth: 8
    png:IHDR.color-type-orig: 6
    png:IHDR.color_type: 6 (RGBA)
    png:IHDR.interlace_method: 0 (Not interlaced)
    png:IHDR.width,height: 3843, 3402
    png:sRGB: intent=0 (Perceptual Intent)
    png:text: 2 tEXt/zTXt/iTXt chunks were found
    png:tIME: 2017-04-03T18:20:37Z
    signature: ea0ce8b483b92bda18d999d203a5e1329d48fb63059d6702051b74f7930286fc
  Artifacts:
    filename: /Users/mainuser/Desktop/final/HALFS/to/1_1ND1_1.png
    verbose: true
  Tainted: False
  Filesize: 710KB
  Number pixels: 13.07M
  Pixels per second: 54.47MB
  User time: 0.230u
  Elapsed time: 0:01.240
  Version: ImageMagick 6.9.7-3 Q16 x86_64 2017-01-07 http://www.imagemagick.org
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-05 11:59:44

最新答案

由于我们有一些问题,您不能分享您的图像,让我们自己做一些:

代码语言:javascript
复制
convert -size 600x200 xc:none -fill red -draw "circle 100,100 100,200" -bordercolor black -border 1 1.png

代码语言:javascript
复制
convert -size 600x200 xc:none -fill lime -draw "circle 300,100 400,100" -bordercolor black -border 1 2.png

代码语言:javascript
复制
convert -size 600x200 xc:none -fill blue -draw "circle 500,100 600,100" -bordercolor black -border 1 3.png

现在让我们把它们压在透明的背景上:

代码语言:javascript
复制
convert [123].png -background none -flatten result.png

也许您可以创建这些图像并尝试使用您的ImageMagick版本。

原始答案

这取决于您的文件在大小和透明度方面的情况,但是在循环的中间尝试如下:

代码语言:javascript
复制
convert -gravity center "$pos1" "$pos3" -composite "$pos6" -composite "${pos1}${pos3}${pos6}.png"

这假设"$pos1“是像素尺寸方面最大的文件。

请注意,在展开shell变量时,应该始终使用双引号,以防文件名中有空格。

票数 1
EN

Stack Overflow用户

发布于 2022-08-20 09:29:15

这不是最初问题的答案,但我发现这是因为我遇到了与使用convert时忽略图像的问题相同的问题。

我的解决方案是在resources.xml中分配更高的资源,如本solution所述。

也许这对某个人是有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43227701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档