- 學(xué)習(xí)OpenCV 4:基于Python的算法實戰(zhàn)
- 肖鈴
- 1419字
- 2022-05-05 19:40:10
2.4 進(jìn)階必備:聊聊圖像格式
圖像格式即圖像文件存放在存儲卡等介質(zhì)上的格式,常用的圖像格式有BMP、JPEG、TIFF、RAW等,受到存儲容量的限制,圖像文件通常都會經(jīng)過壓縮再存儲,表2.1列舉了OpenCV中圖像讀/寫支持的格式,本節(jié)對一些常用格式做簡單介紹。
(1)BMP格式。
Windows BMP格式圖像文件又稱位圖,后綴為.bmp或.dib,是Windows系統(tǒng)中最常見的圖像格式,也是Windows環(huán)境中圖像數(shù)據(jù)處理的一種標(biāo)準(zhǔn)格式,因此,Windows環(huán)境中的圖像處理軟件都支持BMP格式。
BMP格式采用位映射存儲格式,除了圖像深度可以設(shè)置(圖像深度可設(shè)置為1bit、4bit、8bit及24bit),不采用其他的壓縮方式,因此,存儲BMP文件所需的空間會很大。對于BMP文件,在進(jìn)行數(shù)據(jù)存儲時,采用從左到右、從下到上的圖像掃描方式。
(2)JPEG格式。
JPEG(Joint Photographic Experts Group,聯(lián)合圖像專家小組)是面向連續(xù)色調(diào)靜止圖像的一種壓縮標(biāo)準(zhǔn),該標(biāo)準(zhǔn)由國際標(biāo)準(zhǔn)化組織(ISO)制定。JPEG格式圖像文件采用JPEG標(biāo)準(zhǔn),是目前最常用的圖像文件格式,后綴名為.jpg或.jpeg。
JPEG格式是一種先進(jìn)的壓縮格式,可以去除圖像中的冗余數(shù)據(jù),該格式壓縮比通常為10:1到40:1,用JPEG格式存儲的文件大小是其他類型文件大小的1/20~1/10,能夠?qū)D像壓縮在很小的存儲空間內(nèi)。JPEG格式屬于有損壓縮格式,壓縮比越大,圖像的品質(zhì)就越低,因此,如果要求高品質(zhì)圖像,則壓縮比不宜設(shè)置得過大。
JPEG格式可分為標(biāo)準(zhǔn)JPEG、漸進(jìn)式JPEG及JPEG2000 3種格式。
標(biāo)準(zhǔn)JPEG格式在網(wǎng)頁中加載時,需要圖像文件全部加載完畢才能展示圖像。
漸進(jìn)式JPEG在網(wǎng)頁中加載時,會先呈現(xiàn)圖像的粗略外觀,然后逐漸呈現(xiàn)圖像細(xì)節(jié),因而稱為漸進(jìn)式JPEG。漸進(jìn)式JPEG格式圖像文件比標(biāo)準(zhǔn)JPEG格式圖像文件小,因此,網(wǎng)頁端圖像的展示建議使用這種格式。
JPEG2000是新一代圖像壓縮方法,壓縮品質(zhì)更高,JPEG2000格式文件后綴為.jp2。在無線傳輸圖像時,經(jīng)常會遇到信號不穩(wěn)造成的馬賽克現(xiàn)象,或者圖像位置錯亂問題,JPEG2000可以改善這種情況下的圖像傳輸品質(zhì)。JPEG2000的壓縮率比標(biāo)準(zhǔn)JPEG的壓縮率高約30%,支持有損壓縮和無損壓縮兩種方式,支持漸進(jìn)式傳輸,也支持設(shè)定感興趣區(qū)域(指定圖片上感興趣區(qū)域的壓縮質(zhì)量),還可以選擇圖像中的某一部分先行解壓。
(3)PNG格式。
PNG(Portable Network Graphics,便攜式網(wǎng)絡(luò)圖形)格式是一種采用無損壓縮數(shù)據(jù)算法的位圖格式,后綴為.png,該格式當(dāng)初的設(shè)計意圖是替代有專利的GIF和TIFF文件格式,是目前比較常用的一種圖像格式。
(4)WebP格式。
WebP由Google發(fā)布,文件后綴為.webp,提供了有損壓縮與無損壓縮兩種方式。該格式派生于VP8,支持的最大像素數(shù)量是16383×16383。相較于JPEG格式,WebP格式采用有損壓縮,在保持與JPEG格式相同的圖片質(zhì)量的情況下,文件大小會比JPEG格式文件小,WebP無損壓縮的圖像比PNG圖像少了45%的存儲大小,因此能夠有效地減少圖像在網(wǎng)絡(luò)上的傳輸時間。
(5)TIFF格式。
TIFF(Tag Image File Format,標(biāo)簽圖像文件)格式是一種靈活的位圖格式,文件后綴為.tiff或.tif。TIFF格式采用3級體系結(jié)構(gòu),內(nèi)部結(jié)構(gòu)分為3部分:文件頭信息區(qū)、標(biāo)識信息區(qū)和圖像數(shù)據(jù)區(qū)。文件頭信息區(qū)存儲TIFF文件解析必需的信息,標(biāo)識信息區(qū)包含了有關(guān)于圖像的所有信息,圖像數(shù)據(jù)區(qū)存儲圖像信息。
TIFF格式應(yīng)用廣泛,擁有多種壓縮方案,可以描述多種類型的圖像,不依賴硬件,具有可移植性。
OpenCV在進(jìn)行圖像編/解碼時,在Windows和MacOSX操作系統(tǒng)上,默認(rèn)情況下使用OpenCV自帶的編/解碼器(libjpeg、libpng、libtiff和libjasper),因此,在這兩種系統(tǒng)上,OpenCV總是可以讀取JPEG、PNG和TIFF格式的圖像文件。在macOS上,還可以選擇使用macOS本機的圖像讀取器。
在Linux、BSD或其他類UNIX的操作系統(tǒng)上,OpenCV尋找與操作系統(tǒng)鏡像一起提供的編/解碼器,在安裝相關(guān)軟件包時,不要忘記安裝開發(fā)文件,如Debian和Ubuntu中的libjpeg dev。
- 現(xiàn)代C++編程:從入門到實踐
- 極簡算法史:從數(shù)學(xué)到機器的故事
- DevOps with Kubernetes
- 面向STEM的Scratch創(chuàng)新課程
- Rust Cookbook
- 精通Python自然語言處理
- JAVA程序設(shè)計實驗教程
- Hands-On Natural Language Processing with Python
- Access 2010數(shù)據(jù)庫應(yīng)用技術(shù)(第2版)
- 運用后端技術(shù)處理業(yè)務(wù)邏輯(藍(lán)橋杯軟件大賽培訓(xùn)教材-Java方向)
- 學(xué)習(xí)OpenCV 4:基于Python的算法實戰(zhàn)
- 常用工具軟件立體化教程(微課版)
- Advanced Express Web Application Development
- Practical Microservices
- Kotlin語言實例精解