簡體   English   中英

openCV cvSaveImage()增加圖像大小

[英]openCV cvSaveImage() increases the size of image

我正在加載圖像,並使用cvSaveImage()保存相同的圖像但名稱不同。 保存后,新保存的圖像的大小會增加。 誰能告訴我為什么以及如何避免它? 這是我的代碼:

int main(){

IplImage* src = cvLoadImage("test.jpg", 0);

cvSaveImage("reTest.jpg", src);

return 0;

}

謝謝。

這是因為OpenCV默認使用的JPEG壓縮系數較低。 這是如何傳遞自定義壓縮因子-OpenCV cvSaveImage Jpeg壓縮因子

在JPEG中結合使用不同的壓縮和編碼方法。 與cvSaveImage的標准openCV參數化相比,您的原始圖像很可能使用了不同的壓縮/編碼。

嘗試這個:

IplImage* src = cvLoadImage("test.jpg", 0);
cvSaveImage("reTest.jpg", src);
IplImage* reSrc = cvLoadImage("reTest.jpg",0);
cvSaveImage("reTest2.jpg", reSrc);

如果reTest.jpgreTest2.jpg具有相同的大小,則openCV不會增加文件大小,而只是使用不同的壓縮級別或其他。 您必須找出原始文件的壓縮級別和編碼,然后使用這些相同的參數保存它,也許使用與openCV不同的庫。

暫無
暫無

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

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