我有一個關於JPEG文件寫入的問題。假設我有一個PNG文件example.png,並且我想將文件格式更改爲JPEG,而不會丟失任何信息。對於現在正在,我有兩個解決方案:無損JPEG文件寫入
解決方案1:執行文件格式變換用MATLAB
I = imread( 'example.png');
imwrite(I,'example.jpg','Mode','lossless');
II = imread('example.jpg');
different = I-II;
max(differ(:))
此解決方案可以產生無損JPEG文件。但是,此解決方案的問題是,原始圖像中的某些信息(如DPI分辨率)可能會丟失。此外, 產生的輸出圖像不能被流行的圖像查看器(如IrfanView和Windows Paint)查看。
解決方案2:使用IrfanView軟件。 使用IrfanView程序的「另存爲」功能,我們可以很容易地更改文件格式。但是,儘管在保存JPEG文件時我已經設置了「最佳質量100」選項,但輸出圖像也顯示一些信息丟失。對於所有像素,這兩個圖像之間的差異不爲零。
我想知道我應該怎麼做才能解決問題。任何想法將不勝感激。
解決您的問題非常容易:保持PNG圖像。 – mmgp 2013-02-21 16:10:29
Jpeg2000是一種無損jpeg文件格式,但不幸的是幾乎沒有軟件支持jpeg2000。 .png和.gif是無損文件的最佳選擇。 – 2013-02-21 16:18:22
你的第一個假設需要改變。 「正常」的JPEG圖像使用有損壓縮格式。正如@ mmgp所說,與PNG保持合作是一個不錯的選擇。如果你正在尋找更好的壓縮比,那麼你將需要放棄無損的想法。 – BitBank 2013-02-22 16:04:10