近日在用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的圖片
經(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了!怎么回事!我什么都沒做啊,圖片大小怎么就大大縮水了呢?
通過(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)了。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26