opencv 1 图像载入、显示和输出
三個函數
imread()
namedWindow()
inshow()
1. imread
函數原型:
Mat imread(const string& filename, int flags = 1 );
參數解析:
- const string& finename
將要載入的圖片路徑名。
Windows操作系統下面支持如下類型的圖片:
Windows位圖 - *.bmp, *.dib
JPEG文件 - *.jpeg, *.jpg, *.jpe
JPEG 2000文件- *.jp2
PNG圖片 - *.png
便攜文件格式- *.pbm, *.pgm, *.ppm
Sun rasters光柵文件 - *.sr, *.ras
TIFF 文件 - *.tiff, *.tif
- int flags = 1
指定加載圖像的顏色類型。缺省值為 1 ,表示載入三通道的彩色圖像。
可在標識圖像格式的枚舉體中取值。在 higui_c.h 中有該枚舉體的定義:
enum
{
/* 8bit, color or not */CV_LOAD_IMAGE_UNCHANGED =-1,
/* 8bit, gray */CV_LOAD_IMAGE_GRAYSCALE =0,
/* ?, color */CV_LOAD_IMAGE_COLOR =1,
/* any depth, ? */CV_LOAD_IMAGE_ANYDEPTH =2,
/* ?, any color */CV_LOAD_IMAGE_ANYCOLOR =4
};
對應解釋:
CV_LOAD_IMAGE_UNCHANGED – 該標識已經棄用
CV_LOAD_IMAGE_ANYDEPTH – 若載入的圖像的深度為16位或者32位,返回對應深度的圖像,否則,就轉換為8位圖像再返回。
CV_LOAD_IMAGE_COLOR – 轉換圖像到彩色一體
CV_LOAD_IMAGE_GRAYSCALE – 將圖像轉換成灰度1
如果輸入有沖突標志,將取小值。比如 CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR 將載入3通道圖。
如果想要載入最真實的圖像,選擇 CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR 。
因為 flags 是 int 類型,還可以使用下面的方式:
flags > 0 – 返回3通道彩色圖像。
flags = 0 – 返回灰度圖像。
flags < 0 – 返回包含Alpha通道加載的圖像。
示例代碼:
Mat image0=imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); //載入最真實的圖像Mat image1=imread("dota.jpg",0); //載入灰度圖Mat image2=imread("dota.jpg",199); //載入3通道的彩色圖像Mat logo=imread("dota_logo.jpg"); //載入3通道的彩色圖像
總結
以上是生活随笔為你收集整理的opencv 1 图像载入、显示和输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis学习 -- 简单动态字符串
- 下一篇: 3年市值缩水600亿,王中军王中磊质押九