最近我愚蠢地删除了一些我不应该拥有的照片。我使用了一个程序来恢复照片,其中一些照片以损坏的状态返回,如下所示,带有灰色区域。
关于如何解决这个问题的任何想法?信息显然以某种形式存在,因为当我使用 Windows 照片查看器查看照片时,在 Windows 生成预览时,完整图像会短暂显示几分之一秒。
请假设您有一个 Microsoft Word 2007 文档:您刚刚在其中插入了大约一千张 JPEG 图像。
对于第一张图像,您右键单击,然后格式化图片,然后选择“RECOLOR”,然后在第二行“COLOR MODES”中选择“BLACK AND WHITE”。
您如何自动执行向其他 999 个 JPEG 图像提供相同“格式化图片”命令的过程?
我刚刚尝试过 FORMAT PAINTER,但没有成功。
有什么线索吗?
这是一个没有答案的类似问题:http : //thedailyreviewer.com/windowsapps/view/formatting-all-pictures-in-a-word-document-in-one-go-11962810
如何一次性选择所有图片,以保持格式一致,以便它们在整个 Word 文档中都显示相同,即,例如,它们都具有相同的文本换行边距...并且都是相同的 %原件的尺寸?如果 word 不允许我为图片“全选”,我可以复制图片的格式,然后以某种方式将其粘贴到其他图片上,类似于用于文本的格式刷吗?
预先感谢您的帮助。
选择正确的格式来保存图像对于保持图像质量和减少伪影至关重要。不同的格式遵循不同的压缩方法,并具有各自的优点和缺点。
例如,JPG 适用于色彩渐变丰富的现实生活照片。另一方面,无损 PNG 在原理图方面要优越得多:

在处理大量文件时,选择正确的格式可能是一件苦差事。这就是为什么我很想找到一种方法来自动化它。
关于我的特定用例的一些背景知识:
我正在为我大学的一系列讲座制作一些讲义。讲义中有丰富的图表,我必须从 PDF 格式的幻灯片中提取。提取这些图像给了我无损的 PNG,有时会不必要地大。
将这些特定文件转换为 JPEG 可以将它们的大小减少到原始文件大小的 20% 以下,同时保持相同的质量。这很重要,因为在文字处理器中处理数百张大图像非常容易崩溃。
将所有提取的 PNG 批量转换为 JPEG不是我愿意遵循的选项,因为大多数图像更适合格式化为 PNG。转换这些将导致大小不显着的减少,有时甚至会增加文件大小 - 至少我的测试运行显示了这一点。
我们可以从中得出的是,压缩后的文件大小可以作为指示哪种格式最适合特定图像的指标。它不是一个特别准确的预测器,但效果很好。那么为什么不以脚本的形式使用它:

我包含inotifywait是因为我希望在将提取的图像拖到文件夹中时自动执行脚本。
这是我过去几周一直在使用的脚本的更简单版本:
#!/bin/bash
inotifywait -m --format "%w%f" --exclude '.jpg' -r -e create -e moved_to --fromfile '/home/MHC/.scripts/Workflow/Conversion/include_inotifywait' | while read file; do mogrify -format jpg -quality 92 "$file"
done
Run Code Online (Sandbox Code Playgroud)
脚本的高级版本必须
实际转换可以使用 imagemagick 工具完成:
convert -quality 92 -flatten -background white file.png file.jpg
Run Code Online (Sandbox Code Playgroud)
不幸的是,我的 …
我最近将相机的 SD 卡放入了一台 Windows 7 PC 并开始在上面浏览图片。我注意到有些没有正确对齐并使用rotate feature包含在 Windows 照片查看器中,以便按我想要的方式查看它们。
我不知道的是,当使用旋转功能时,它也会在按下下一个或上一个按钮时覆盖图片,导致质量可能下降(在我看来这是一个坏主意,应用程序至少应该警告用户什么使用此类功能时会发生)。
之后,我将 SD 卡重新插入我的相机,意外发生了:旋转后的图片无法再预览。相反,我得到了一个黑屏,上面写着“不兼容的 JPEG 格式”。其他文件(未受影响)仍然可以正常工作。
为了了解发生了什么,我从相机打开了一个 JPEG 文件,并在十六进制编辑器中在 Windows 7 上生成了一个文件。这是区别:
相机 JPEG 文件中有一个Exif标签(带有0xE1标题)。其他 JPEG 文件(Windows 7)首先JFIF在其中包含一个标签,然后是一个Exif标签(0xE0在标题中)。
因此,如果我理解得很好,两者都是 JPEG 文件,但使用不同的内部格式。
这是我的问题:是否可以(使用某些工具)将JFIF文件转换为Exif格式?
我知道原始相机文件已被重新编码,因此会损失一些质量(找回原件是不可能的)。我想知道是否将它们从 JFIF 转换回 Exif(如果可能的话,没有第二次质量损失......)
最近在安装过程中,我丢失了 Windows NTFS 驱动器中的所有文件。我安装在 Ubuntu 12.10 桌面版上的 testdata 上,在 photorec 的帮助下可以恢复很多 jpeg 图像。
现在的问题是它们都以 f[somelargenumber].jpg 命名。现在我想将点击的图片与我的相机型号分开。
是否有任何命令可以完成此任务。
如果它有助于解决我的问题,任何其他替代解决方案也将起作用。
我有 100 多个损坏的 JPEG 文件。它们都是用同一台相机拍摄的。每个文件大约 3MB,因此必须有大量数据可供使用。
它们来自我叔叔的相机,所以如果我能把它们修好,对他来说意义重大。
以下是我已采取的步骤。
这是在这里建议的。当我使用该软件时,我收到以下错误消息:
Start Offset: 0x00000000
*** Skipped 4878206 marker pad bytes ***
OFFSET: 0x004A6F7E
WARNING: Unknown marker [0xFF00], stopping decode
Use [Img Search Fwd/Rev] to locate other valid embedded JPEGs
Run Code Online (Sandbox Code Playgroud)
我不太确定如何处理此错误消息。
此举在网上好评如潮。但是,它对我不起作用。
这是一项再次获得好评如潮的在线服务。不幸的是,文件太大,无法上传。
这是另一个广受好评的软件,但对我来说不起作用。
我正在尝试为包含日期的图像添加水印。
我在图像上放置文本没有任何问题,但是一旦我尝试输入日期,我就会得到意想不到的结果。
convert -pointsize 20 -fill blue -draw 'text 10,240 "$(date '+%Y-%m-%d %T').jpg" ' /home/mydir/timelapse/snap.jpg /home/mydir/timelapse/snapout.jpg;
Run Code Online (Sandbox Code Playgroud)
上面的命令返回
convert: non-conforming drawing primitive definition `$(date +%Y-%m-%d-%T).jpg' @ error/draw.c/DrawImage/3182.
Run Code Online (Sandbox Code Playgroud)
我正在拔头发试图弄清楚为什么我不能在我的图像上加上日期。
假设我有一个之前以 JPEG 格式压缩的图像的无损版本(例如,如果您在 mspaint 中打开 JPEG 图像并将其另存为 BMP,我知道在此过程中会丢失一些元数据,但这不是我关心的)
我想知道是否可能以及如何将其转换回 JPEG 格式而不损失图像质量,这意味着每个像素都完全相同?
编辑:我完全理解将 JPEG 图像转换为无损格式不会给我带来任何额外的质量。我问这个是因为:我有一个从 SWF 文件中提取的 PNG 文件。最初(在 SWF 文件中)对象是 JPEG 图像 + alpha 通道,其文件大小比我拥有的 PNG 文件要小得多。我想要原始格式(JPEG + Alpha 通道),但我不再拥有原始 SWF 文件的任何副本(而且我也未能在网上找到一份副本),因此我无法重做提取过程。
我们在我们的 Java 应用程序中使用 FFMPEG,我正在尝试将 tiff 文件转换为 jpg,但要求是保持与原始 tiff 文件中相同的 DPI。
我是 FFMPEG 的新手,并尝试了以下失败的尝试来实现这一目标:
ffmpeg -y -i test.tif test.jpg: 成功转换为jpg,但DPI从300降低到96。(通过按右键单击图像-->属性-->详细信息选项卡-->水平和垂直分辨率属性来验证)ffmpeg -y -i test.tif -c:v copy test.jpg: 转换为 300 dpi 的 jpg,但实际文件格式仍然是 tif。似乎只有扩展名更改为jpg。ffmpeg -y -i test.tif -pix_fmt <format> test.gif (尝试了所有 3 种支持的格式:yuvj420p、yuvj422p yuvj444p):转换为 jpg 但 dpi 从 300 更改为 96。ffmpeg y -i test.tif -r 1 -q:v <range> test.jpg (尝试了各种范围:1 到 10):同样的问题。
尝试-q:v和-qscale选项,但它只是改变图像的宽度和高度。
最后我听说了 ImageMagick 并且问题在第一次尝试时使用以下命令解决了:
magick convert "test.tif" "test.jpg": 转换为 jpg,dpi 为 …