首頁 > 軟體

關於 OpenCV 支援的圖片格式

2020-06-16 16:54:12

OpenCV目前支援的影象格式包括:

  • Windows點陣圖檔案 - BMP, DIB;
  • JPEG檔案 - JPEG, JPG, JPE;
  • 便攜式網路圖片 - PNG;
  • 便攜式影象格式 - PBM,PGM,PPM;
  • Sun rasters - SR,RAS;
  • TIFF檔案 - TIFF,TIF;
  • OpenEXR HDR 圖片 - EXR;
  • JPEG 2000 圖片- jp2。

可以用cvSaveImage函數或者imwrite()函數來實現不同影象格式之間的轉換,儲存時的字尾名就是對應的圖片格式。

1、BMP

BMP(全稱Bitmap)是Windows作業系統中的標準影象檔案格式,可以分成兩類:裝置相關點陣圖(DDB)和裝置無關點陣圖(DIB),使用非常廣。它採用位對映儲存格式,除了影象深度可選以外,不採用其他任何壓縮,因此,BMP檔案所占用的空間很大。BMP檔案的影象深度可選lbit、4bit、8bit及24bit。BMP檔案儲存資料時,影象的掃描方式是按從左到右、從下到上的順序。由於BMP檔案格式是Windows環境中交換與圖有關的資料的一種標準,因此在Windows環境中執行的圖形影象軟體都支援BMP影象格式。

2、JPEG檔案- JPEG, JPG, JPE

在電腦中,JPEG(發音為jay-peg, IPA:[?d?e?p?g])是一種針對相片影象而廣泛使用的一種有失真壓縮標準方法。這個名稱代表Joint Photographic Experts Group(聯合影象專家小組)。此團隊創立於西元1986年,1992年發布了JPEG的標準而在1994年獲得了ISO 10918-1的認定。JPEG與視訊聲頻壓縮標準的MPEG(Moving Picture Experts Group)很容易混淆,但兩者是不同的組織及標準。JPEG本身只有描述如何將一個影象轉換為位元組的資料流(streaming),但並沒有說明這些位元組如何在任何特定的儲存媒體上被封存起來。JPEG的壓縮方式通常是破壞性資料壓縮(lossy compression),意即在壓縮過程中影象的品質會遭受到可見的破壞,有一種以JPEG為基礎的標準Lossless JPEG是採用無失真的壓縮方式,但Lossless JPEG並沒有受到廣泛的支援。使用JPEG格式壓縮的圖片檔案一般也被稱為JPEG Files,最普遍被使用的擴充套件名格式為.jpg,其他常用的擴充套件名還包括.jpeg、.jpe、.jfif以及.jif。JPEG格式的資料也能被嵌進其他型別的檔案格式中,像是TIFF型別的檔案格式。

3、便攜式網路圖片 - PNG

便攜式網路圖形(Portable Network Graphics)是一種無失真壓縮的點陣圖片形格式。其設計目的是試圖替代GIF和TIFF檔案格式,同時增加一些GIF檔案格式所不具備的特性。PNG的名稱來源於“可移植網路圖形格式(Portable Network Graphic Format,PNG)”,也有一個非官方解釋“PNG's Not GIF”。PNG使用從LZ77派生的無失真資料壓縮演算法,一般應用於JAVA程式、網頁或S60程式中,原因是它壓縮比高,生成檔案體積小。

特點:

  • 體積小 網路通訊中因受頻寬制約,在保證圖片清晰、逼真的前提下,網頁中不可能大範圍的使用檔案較大的bmp格式檔案。
  • 無失真壓縮 PNG檔案採用LZ77演算法的派生演算法進行壓縮,其結果是獲得高的壓縮比,不損失資料。它利用特殊的編碼方法標記重複出現的資料,因而對影象的顏色沒有影響,也不可能產生顏色的損失,這樣就可以重複儲存而不降低影象品質。
  • 支援透明效果 PNG可以為原影象定義256個透明層次,使得彩色影象的邊緣能與任何背景平滑地融合,從而徹底地消除鋸齒邊緣。這種功能是GIF和JPEG沒有的。
  • PNG同時還支援真彩和灰度級影象的Alpha通道透明度。

OpenCV官方教學中文版(For Python) PDF  http://www.linuxidc.com/Linux/2015-08/121400.htm

Ubuntu 14.04安裝OpenCV2.4.9  http://www.linuxidc.com/Linux/2016-07/132884.htm

Ubuntu 16.04上用CMake圖形介面交叉編譯樹莓派的OpenCV3.0 http://www.linuxidc.com/Linux/2016-10/135914.htm

Ubuntu 16.04中安裝OpenCV 2.4.11  http://www.linuxidc.com/Linux/2016-07/132882.htm

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝  http://www.linuxidc.com/Linux/2016-07/132860.htm

Linux上安裝和編譯OpenCV3.0.0  http://www.linuxidc.com/Linux/2017-07/145446.htm

Ubuntu 16.04下OpenCV安裝筆記和例程 http://www.linuxidc.com/Linux/2017-08/146027.htm

Ubuntu 16.04下TensorFlow+Caffe+OpenCV3.1+Theano部署  http://www.linuxidc.com/Linux/2017-01/139503.htm

Ubuntu 16.04 編譯安裝OpenCV 3.1及OpenCV多版本切換 http://www.linuxidc.com/Linux/2017-01/139325.htm


IT145.com E-mail:sddin#qq.com