gpt4 book ai didi

ffmpeg png 到 png 质量损失

转载 作者:行者123 更新时间:2023-12-04 23:33:55 27 4
gpt4 key购买 nike

我做了一个 python 脚本,该脚本设法根据特定模式解散乱序(png)图像,该 python 脚本使用 ffmpeg 并进行 12 次编码来解乱它(通过裁剪特定部分并将其粘贴到现有图片上)。
因此,每次都将同一个文件重新编码为一个新文件,这应该不是问题,因为我正在进行 png 转换(无损,对吗?),但我仍然会丢失它的质量。

以下是图片:

  • https://i.imgur.com/TMzBUGq.png (输入)
  • https://i.imgur.com/FCwfViJ.png (输出)

  • 请注意“ONE PUNCH MAN”文本的质量损失。图片的其余部分看起来几乎完全相同。所以问题似乎出在颜色上。

    这是我运行以获取输出的 ffmpeg 命令:
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[0:v]crop=200:280:200:0[t];[0:v][t]overlay=0:280" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[0:v]crop=200:280:400:0[t];[0:v][t]overlay=0:560" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[0:v]crop=200:280:600:0[t];[0:v][t]overlay=0:840" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[1:v]crop=200:280:0:280[t];[0:v][t]overlay=200:0" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[0:v]crop=200:280:400:280[t];[0:v][t]overlay=200:560" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[0:v]crop=200:280:600:280[t];[0:v][t]overlay=200:840" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[1:v]crop=200:280:0:560[t];[0:v][t]overlay=400:0" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[1:v]crop=200:280:200:560[t];[0:v][t]overlay=400:280" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[0:v]crop=200:280:600:560[t];[0:v][t]overlay=400:840" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[1:v]crop=200:280:0:840[t];[0:v][t]overlay=600:0" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[1:v]crop=200:280:200:840[t];[0:v][t]overlay=600:280" "output/001.png"
    ffmpeg -loglevel panic -y -i "output/001.png" -i "001.png" -qscale:v 2 -filter_complex "[1:v]crop=200:280:400:840[t];[0:v][t]overlay=600:560" "output/001.png"

    有人知道为什么会出现这种质量损失吗?
    奇怪的是,当我以完全不同的方式进行操作时(将每个正方形裁剪成一个单独的文件,然后将它们中的每一个与下一个一起放入 1x2 vstack 中,然后每个生成的 1x2 文件都是 vstacked使用第二个文件制作一个 1x4 文件,然后将每个文件 hstacked 以制作一个 2x4 文件,最后我们将两个结果文件 hstack 以获得结果 4x4 输出),即使编码量是两倍多。

    最佳答案

    Try overlay=0:280:format=auto



    谢谢,这有效,输出看起来与现在的输入完全一样。

    关于ffmpeg png 到 png 质量损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49824955/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com