有谁知道在 linux 中将一堆 PNG 批量转换为 JPG 的好方法吗?(我正在使用 Ubuntu)。
我可以直接放入 shell 脚本的 png2jpg 二进制文件是理想的。
FFmpeg 可以从视频中捕获图像,这些图像可以用作缩略图来表示视频。在FFmpeg Wiki中捕获了最常见的方法。
但是,我不想在某些时间间隔内选择随机帧。我发现了一些在 FFmpeg 上使用过滤器来捕捉场景变化的选项:
过滤器thumbnail试图找到视频中最具代表性的帧:
ffmpeg -i input.mp4 -vf "thumbnail,scale=640:360" -frames:v 1 thumb.png
Run Code Online (Sandbox Code Playgroud)
并且以下命令仅选择与之前相比具有超过 40% 变化的帧(因此可能是场景变化)并生成 5 个 PNG 的序列。
ffmpeg -i input.mp4 -vf "select=gt(scene\,0.4),scale=640:360" -frames:v 5 thumb%03d.png
Run Code Online (Sandbox Code Playgroud)
以上命令的信息归功于Fabio Sonnati。第二个看起来更好,因为我可以得到 n 个图像并选择最好的。我试过了,它生成了 5 次相同的图像。
更多的调查使我:
ffmpeg -i input.mp4 -vf "select=gt(scene\,0.5)" -frames:v 5 -vsync vfr out%02d.png
Run Code Online (Sandbox Code Playgroud)
-vsync vfr确保您获得不同的图像。这仍然总是选择视频的第一帧,在大多数情况下,第一帧是署名/标志并且没有意义,所以我添加了一个-ss3 来丢弃视频的前 3 秒。
我的最终命令如下所示:
ffmpeg -ss 3 -i input.mp4 -vf "select=gt(scene\,0.5)" -frames:v 5 -vsync vfr out%02d.jpg
Run Code Online (Sandbox Code Playgroud)
这是我能做的最好的事情。我注意到,由于我只挑选了5个视频,所有视频都来自视频的开头,可能会错过视频后面出现的重要场景。
我想为任何其他更好的选择挑选你的大脑。
这种现象一直让我有问题要问。
这是详细的实验,我的操作系统是 Windows 7 x64 SP1:
它应该看起来像这样,看起来很奇怪的文本序列,其中一些(非常罕见)实际上是有意义的,就像下面的截图“creator: dg-jpeg v1.0 ...”
当我尝试打开时,Windows 会说“Windows 照片查看器无法打开此图片,因为文件似乎已损坏、损坏或太大”。
我什至尝试使用另一种方法对其进行测试:用记事本打开 JPG,我从一个容易记住的位置(如第二行的第一个字符)剪切一个已知字符,然后保存文件。查看器当然会显示相同的消息。然后我再次打开它并将字符粘贴到确切位置(记事本会记住它的退出状态,如窗口位置、换行、字体大小......所以我没有问题)
而且还是同样的错误。你可以试试这个来获得想法,记得选择一张小图片,否则记事本会像一个生锈的老人。
造成这种现象的原因可能是什么?
有人给我发了一堆 BMP 文件,我需要它们的 JPEG 格式。我可以使用 GIMP 将它们一一转换,但我宁愿一次性完成。我有 Ubuntu。
我想知道对于相同质量的图片,这些格式中的哪一种需要较少的内存,以及这些格式之间的主要区别是什么。
我有一个文本徽标的 .jpg 图像,它看起来类似于此处的示例图像:

我正在使用paint.net。
现在,我想将图像更改为 .png,然后我想删除所有白色背景,并使图像在透明背景上变成黑色文本。
我尝试了魔术选择工具选择白色背景,我也尝试了按住shift键的魔术选择工具按颜色选择所有白色,我尝试调整容差;但我总是以黑色文本周围非常细的白色边框结束,或者如果我调整容差,一些黑色被带走,使文本倾斜。
我认为问题在于文本周围有一些像素不是纯黑色或纯白色。那些正在从黑色褪色到白色。它们应该从黑色渐变为透明。
如何删除白色背景并只得到黑色文本?
谢谢。
我有一张低分辨率图像,我知道我的计算机上某处存储了全分辨率图像。无论如何,是否可以通过使用小分辨率图像作为搜索输入来在我的计算机上搜索 JPG?
我正在创建一个数据存储设备,它可以在几个小时内拍摄一定数量的夜空照片,并且这些照片将在拍摄完后立即下载。存储卡必须能够一次存储所有图片。
将要拍摄的 JPEG 为 640x480 像素,并且存储卡上必须有足够的空间来容纳所有 100 个像素。那么 640x480 JPEG 的最大尺寸是多少?
我拍了一些测试图片来解决这个问题:



我假设文件大小随着复杂性而增加。
我怎样才能在存储卡上建立足够的空间来容纳 100 个 640x480 JPEG,而不知道它们会有多复杂和大小?我不想浪费额外的空间,因为我可能正在制作许多这些捕获设备。
如何通过 ImageMagick 将 JPEG 照片转换为黑白(非灰度)图像,如传真扫描仪的输出?
这在 Windows 7 上也一直困扰着我,令我懊恼的是,微软并没有在 Windows 8 中解决这个问题。以这张图片为例:
它是为 Retina Macbook 制作的,因此在我的 1680x1050 屏幕上将其设置为墙纸时,它自然会被缩小。Windows 8 设法让它看起来很糟糕,看这个截图:

有没有办法让 Windows始终使用原始图像,而不是它的某些 JPG 化版本?
jpeg ×10
images ×3
linux ×3
windows ×3
bmp ×2
png ×2
conversion ×1
ffmpeg ×1
imagemagick ×1
memory-card ×1
mjpeg ×1
notepad ×1
paint.net ×1
search ×1
shell-script ×1
svg ×1
thumbnails ×1
windows-7 ×1