我有一个关于 JPEG 文件写入的问题。假设我有一个 PNG 文件 example.png,我想将文件格式更改为 JPEG,而不会丢失任何信息。目前,我有两个解决方案:
解决方案 1:使用 MATLAB 执行文件格式转换
我 = imread('example.png');
imwrite(I,'example.jpg','Mode','无损');
II = imread('example.jpg');
不同 = I-II;
最大(不同(:))
此解决方案可以生成无损 JPEG 文件。但是,这种解决方案的问题是可能会丢失原始图像中的某些信息,例如 DPI 分辨率。此外,IrfanView 和 Windows Paint 等流行的图像查看器无法查看生成的输出图像。
解决方案 2:使用 IrfanView 软件。使用 IrfanView 程序的“另存为”功能,我们可以非常轻松地更改文件格式。但是,虽然我在保存 JPEG 文件时设置了“最佳质量 100”选项,但输出图像也显示出一些信息丢失。对于所有像素,这两个图像之间的差异并非为零。
因此,我想知道我应该怎么做才能解决这个问题。任何想法将不胜感激。