近日在用opencv做一些圖像處理的操作時(shí),需要對(duì)一些高分辨率的圖像進(jìn)行保存。比如,在操作一個(gè)容量為230M的圖像后,并對(duì)該圖像保存為JPG格式后,發(fā)現(xiàn)圖像容量變?yōu)?0M了!針對(duì)這個(gè)問(wèn)題,忙了大半天,到處翻閱資料,終于知道為什么了。

先舉個(gè)例子說(shuō)明自己遇到的問(wèn)題,為了看出效果,我特意用了一個(gè)高分辨率的圖片做實(shí)驗(yàn)。

比如我有如下的一個(gè)233M的圖片
iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

經(jīng)過(guò)下面的程序讀進(jìn)內(nèi)存,再次保存后,圖片容量就急劇變小了!

#include<opencv2\opencv.hpp>   #include<opencv2\highgui\highgui.hpp>using namespace std;using namespace cv;int main(int argc, char** argv){
    Mat img = imread("src1.jpg");
    imwrite("test.jpg", img);    return 0;
}

保存后的圖片,只剩下126M了!怎么回事!我什么都沒做啊,圖片大小怎么就大大縮水了呢?
iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

通過(guò)翻閱一些資料才知道,原來(lái)是圖片格式惹得禍。其實(shí)有些圖片格式是自帶壓縮的,比如jpg格式,而bmp格式的圖片是不帶任何壓縮,這就是每種圖片的特點(diǎn),如果對(duì)這些知識(shí)點(diǎn)不清楚的話,很容易踩坑!平時(shí)我們操作的圖像大小大多數(shù)都以KB為單位,所以經(jīng)過(guò)一番“隱形壓縮”后我們很難發(fā)現(xiàn)圖片大小變小了,但是,當(dāng)我們操作大圖的時(shí)候,這種壓縮效果一下子就看出來(lái)了。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式