OpenCV:imwrite函數(shù)保存圖片問題
imwrite函數(shù)功能
用于將圖像保存到指定的文件,可以為各種格式的圖像。
函數(shù)原型
bool cv::imwrite(const String & filename, InputArray img, const std::vector<int> & params = std::vector<int>()? )??
函數(shù)參數(shù)
filename
:需要保存圖像的文件名,要保存圖片為哪種格式,就帶什么后綴。img
:要保存的圖像。params
:表示為特定格式保存的參數(shù)編碼。
注意:
imwrite函數(shù)是基于文件擴(kuò)展名選擇圖像的格式。通常,使用此功能只能保存8位單通道或3通道(帶有BGR通道順序)圖像,但有以下例外:
- 對于PNG,JPEG2000和TIFF格式,可以保存16位無符號(CV_16U)圖像。
- 32位浮點(diǎn)(CV_32F)圖像可以保存為PFM,TIFF,OpenEXR和Radiance HDR格式; 使用LogLuv高動態(tài)范圍編碼(每像素4個字節(jié))保存3通道(CV_32FC3)TIFF圖像
- 可以使用此功能保存帶有Alpha通道的PNG圖像。為此,創(chuàng)建8位(或16位)4通道圖像BGRA,其中alpha通道最后。完全透明的像素應(yīng)該將alpha設(shè)置為0,完全不透明的像素應(yīng)該將alpha設(shè)置為255/65535。
如果格式,深度或通道順序不同,請在保存之前使用Mat :: convertTo和cv :: cvtColor進(jìn)行轉(zhuǎn)換?;蛘撸褂猛ㄓ?a rel="external nofollow" target="_blank">FileStorage I / O函數(shù)將圖像保存為XML或YAML格式。
編碼參數(shù)
IMWRITE_JPEG_QUALITY Python:cv.IMWRITE_JPEG_QUALITY | 對于JPEG,它可以是從0到100的質(zhì)量(越高越好)。默認(rèn)值為95。 |
IMWRITE_JPEG_PROGRESSIVE Python:cv.IMWRITE_JPEG_PROGRESSIVE | 啟用JPEG功能,0或1,默認(rèn)為False。 |
IMWRITE_JPEG_OPTIMIZE Python:cv.IMWRITE_JPEG_OPTIMIZE | 啟用JPEG功能,0或1,默認(rèn)為False。 |
IMWRITE_JPEG_RST_INTERVAL Python:cv.IMWRITE_JPEG_RST_INTERVAL | JPEG重啟間隔,0 - 65535,默認(rèn)為0 - 無重啟。 |
IMWRITE_JPEG_LUMA_QUALITY Python:cv.IMWRITE_JPEG_LUMA_QUALITY | 單獨(dú)的亮度質(zhì)量等級,0 - 100,默認(rèn)為0 - 不使用。 |
IMWRITE_JPEG_CHROMA_QUALITY Python:cv.IMWRITE_JPEG_CHROMA_QUALITY | 單獨(dú)的色度質(zhì)量等級,0 - 100,默認(rèn)為0 - 不使用。 |
IMWRITE_PNG_COMPRESSION Python:cv.IMWRITE_PNG_COMPRESSION | 對于PNG,它可以是從0到9的壓縮級別。值越高意味著更小的尺寸和更長的壓縮時間。如果指定,則策略更改為IMWRITE_PNG_STRATEGY_DEFAULT(Z_DEFAULT_STRATEGY)。默認(rèn)值為1(最佳速度設(shè)置)。 |
IMWRITE_PNG_STRATEGY Python:cv.IMWRITE_PNG_STRATEGY | 其中一個品種:: ImwritePNGFlags,默認(rèn)為IMWRITE_PNG_STRATEGY_RLE。 |
IMWRITE_PNG_BILEVEL Python:cv.IMWRITE_PNG_BILEVEL | 二進(jìn)制級別PNG,0或1,默認(rèn)為0。 |
IMWRITE_PXM_BINARY Python:cv.IMWRITE_PXM_BINARY | 對于PPM,PGM或PBM,它可以是二進(jìn)制格式標(biāo)志,0或1.默認(rèn)值為1。 |
IMWRITE_EXR_TYPE Python:cv.IMWRITE_EXR_TYPE | |
IMWRITE_WEBP_QUALITY Python:cv.IMWRITE_WEBP_QUALITY | 覆蓋EXR存儲類型(默認(rèn)為FLOAT(FP32)) 對于WEBP,它可以是1到100的質(zhì)量(越高越好)。默認(rèn)情況下(不帶任何參數(shù)),如果質(zhì)量高于100,則使用無損壓縮。 |
IMWRITE_PAM_TUPLETYPE Python:cv.IMWRITE_PAM_TUPLETYPE | 對于PAM,將TUPLETYPE字段設(shè)置為為格式定義的相應(yīng)字符串值。 |
IMWRITE_TIFF_RESUNIT Python:cv.IMWRITE_TIFF_RESUNIT | 對于TIFF,用于指定要設(shè)置的DPI分辨率單位; 請參閱libtiff文檔以獲取有效值。 |
IMWRITE_TIFF_XDPI Python:cv.IMWRITE_TIFF_XDPI | 對于TIFF,用于指定X方向DPI。 |
IMWRITE_TIFF_YDPI Python:cv.IMWRITE_TIFF_YDPI | 對于TIFF,用于指定Y方向DPI。 |
IMWRITE_TIFF_COMPRESSION Python:cv.IMWRITE_TIFF_COMPRESSION | 對于TIFF,用于指定圖像壓縮方案。請參閱libtiff以獲取與壓縮格式對應(yīng)的整數(shù)常量。注意,對于深度為CV_32F的圖像,僅使用libtiff的SGILOG壓縮方案。對于其他支持的深度,可以通過此標(biāo)志指定壓縮方案; LZW壓縮是默認(rèn)值。 |
IMWRITE_JPEG2000_COMPRESSION_X1000 Python:cv.IMWRITE_JPEG2000_COMPRESSION_X1000 | 對于JPEG2000,用于指定目標(biāo)壓縮率(乘以1000)。該值可以是0到1000.默認(rèn)值是1000。 |
示例代碼
#include <opencv2/opencv.hpp> #include <iostream> int main() { cv::Mat srcImage; //加載圖像 srcImage = cv::imread("image.jpg",1); if (srcImage.empty()) { std::cout << "圖像加載失敗!" << std::endl; return -1; } cv::imshow("主窗口", srcImage); //保存圖像到當(dāng)前項(xiàng)目 cv::imwrite("save.jpg", srcImage); cv::waitKey(0); //銷毀所有窗口 cv::destroyAllWindows(); return 0; }
代碼結(jié)果
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)動態(tài)柱狀圖的繪制
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)動態(tài)柱狀圖的繪制的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)與借鑒價值,需要的可以參考一下2022-12-12Python3用tkinter和PIL實(shí)現(xiàn)看圖工具
這篇文章給大家分享了Python3用tkinter和PIL實(shí)現(xiàn)看圖工具的詳細(xì)實(shí)例代碼,有興趣的朋友參考學(xué)習(xí)下。2018-06-06python如何通過protobuf實(shí)現(xiàn)rpc
這篇文章主要為大家詳細(xì)介紹了python通過protobuf實(shí)現(xiàn)rpc的方法,感興趣的朋友可以參考一下2016-03-03python使用tqdm模塊處理文件閱讀進(jìn)度條顯示
這篇文章主要為大家介紹了python使用tqdm模塊處理文件閱讀顯示進(jìn)度條示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09使用Python下載歌詞并嵌入歌曲文件中的實(shí)現(xiàn)代碼
這篇文章主要介紹了使用Python下載歌詞并嵌入歌曲文件中的實(shí)現(xiàn)代碼,需要借助eyed3模塊,需要的朋友可以參考下2015-11-11Pygame實(shí)現(xiàn)簡易版趣味小游戲之反彈球
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡易版趣味反彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03python 從遠(yuǎn)程服務(wù)器下載東西的代碼
python實(shí)現(xiàn)從遠(yuǎn)程服務(wù)器下載東西的代碼,有需要的朋友可以參考下2013-02-02python讀取excel表格生成erlang數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python讀取excel表格生成erlang數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08MAC平臺基于Python Appium環(huán)境搭建過程圖解
這篇文章主要介紹了MAC平臺基于Python Appium環(huán)境搭建過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08