OpenCV文档阅读笔记-Imread flags解析与实例(保存透明图像)
目錄
官方解析
博主例子(保存透明圖像)
官方解析
Imread flags
enum ImreadModel{
IMREAD_UNCHANGED=1,?? ?//讀取原圖不做任何修改,有alpha通道就讀取,無alpha通道那么圖片會被省略
IMREAD_GRAYSCALE=0,?? ?//圖圖像轉化為單通道的灰度圖像;
IMREAD_COLOR=1,?? ?//轉化為3通道的BGR圖像imread函數默認情況下參數就為這個;
IMREAD_ANYDEPTH=2,?? ?//當傳入的圖像有顏色的深度時,返回16為或32位的圖像,否則返回8位;
IMREAD_ANYCOLOR=4,?? ?//以任意可能的顏色形式讀取圖像;
IMREAD_LOAD_GDAL=8,?? ?//使用GDAL驅動去讀取圖像;
IMREAD_REDUCED_GRAYSCALE_2=16,?? ?//把圖像轉化為單通道的灰色圖片,并且原有尺寸減少1/2;
IMREAD_REDUCED_COLOR_2=17,?? ?//把圖片轉化為3通道的RGB,并且把原圖尺寸減少1/2;
IMREAD_REDUCED_GRAYSCALE_4=32,?? ?//把圖片轉化為單通道的BGR圖片,并且原尺寸減少1/4;
IMREAD_REDUCED_COLOR_4=33,?? ?//把圖片轉化為3通道的RGB,并且把原圖尺寸減少1/4;
IMREAD_REDUCED_GRAYSCALE_8=64,?? ?//把圖片轉化為單通道的BGR圖片,并且原尺寸減少1/8;
IMREAD_REDUCED_COLOR_8=65,?? ?//把圖片轉化為3通道的RGB,并且把原圖尺寸減少1/8;
IMREAD_IGNORE_ORIENTATION=128?? ?//不因EXIF's方向標志而轉化圖像的坐標
};
?
博主例子(保存透明圖像)
這樣的騷操作,讀取一個bng帶透明通道的圖,再保存
源碼如下:
#include <iostream> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/imgproc/imgproc_c.h>using namespace std; using namespace cv;int main(){Mat matSrc=imread("5.png",IMREAD_UNCHANGED);imshow("5.png",matSrc);imwrite("6.png",matSrc);waitKey();getchar();return 0; }程序運行截圖如下:
可以發現,保存的圖片會大點,原因呢,暫時也不太清楚,后期再補充
總結
以上是生活随笔為你收集整理的OpenCV文档阅读笔记-Imread flags解析与实例(保存透明图像)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++工作笔记-C++中assert的作
- 下一篇: Qt工作笔记-自定义QSortFilte