簡體   English   中英

無損JPEG文件寫入

[英]Lossless JPEG file writing

我有一個關於JPEG文件寫入的問題。 假設我有一個PNG文件example.png,我想將文件格式更改為JPEG而不會丟失任何信息。 就目前而言,我有兩個解決方案:

  • 解決方案1:使用MATLAB執行文件格式轉換

    我= imread('example.png');

    imwrite(I 'example.jpg', '模式', '無損');

    II = imread('example.jpg');

    不同= I-II;

    MAX(不同(:))

    此解決方案可以生成無損JPEG文件。 然而,該解決方案的問題在於原始圖像中的一些信息(例如DPI分辨率)可能丟失。 此外,流行的圖像查看器(如IrfanView和Windows Paint)無法查看生成的輸出圖像。

  • 解決方案2:使用IrfanView軟件。 使用IrfanView程序的“另存為”功能,我們可以非常輕松地更改文件格式。 但是,雖然我在保存JPEG文件時設置了“最佳質量100”選項,但輸出圖像也顯示一些信息丟失。 對於所有像素,這兩個圖像之間的差異不為零。

因此,我想知道我應該怎么做以解決問題。 任何想法將不勝感激。

這個問題沒有解決方案(但是,截至2018年)。

如果希望JPEG文件可用於大多數圖像查看器,則無法避免使用有損壓縮。

普遍支持的JPEG版本基於DCT壓縮,根據定義,它執行轉換和舍入,導致一些精度損失。

很少支持替代的無損JPEG壓縮方法JPEG-LS。

還有JPEG-XT擴展,它是有損圖像+圖層的組合,用於重建無損原始圖像。 它在JPEG圖像查看器中優雅地失敗,但它甚至更新,我不知道它是否已在任何地方實現。

如果你真的需要無損,請使用PNG。 使用JPEG,你可以得到的最好的是在RGB色彩空間中質量= 100的最低損耗JPEG(這不是字面上的100%)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM