OpenCV2:幼兒園篇 第二章 讀取圖像

---恢復內容開始---ios

一.簡介

將圖像文件讀入內存,能夠用cv::imread()函數windows

 

二.讀取圖像

Mat imread(const string& filename,int flags=1);網絡

  •  Mat:

    若是讀取圖像失敗,返回一個空矩陣(NULL)函數

  • filename:

    windows位圖文件:BMP,DIB

    JPEG文件:JPEG,JPG,JPE

    便攜式網絡圖片:PNG

    便攜式圖像格式:PBM,PGM,PPM

    Sun rasters:SR,RAS

    TIFF文件:TIFF,TIF

    OpenEXR HDR圖片:EXR

    JPEG 2000圖片:jp2ui

  • flag:

    flag>0,返回3通道圖像spa

    flag=0,返回單通道圖像blog

    flag<0,不對圖像進行通道轉換圖片

 

三.示例

Mat im=imread("1.jpg",0);

 

---恢復內容結束---內存

一.簡介

將圖像文件讀入內存,能夠用cv::imread()函數string

 

二.讀取圖像

Mat imread(const string& filename,int flags=1);

  •  Mat:

    若是讀取圖像失敗,返回一個空矩陣(NULL)

  • filename:

    windows位圖文件:BMP,DIB

    JPEG文件:JPEG,JPG,JPE

    便攜式網絡圖片:PNG

    便攜式圖像格式:PBM,PGM,PPM

    Sun rasters:SR,RAS

    TIFF文件:TIFF,TIF

    OpenEXR HDR圖片:EXR

    JPEG 2000圖片:jp2

  • flag:

    flag>0,返回3通道圖像

    flag=0,返回單通道圖像

    flag<0,不對圖像進行通道轉換

 

Mat im=imread("1.jpg",0);

 

三.批量讀取圖像

1.有序

 

#include <iostream>
#include <stdio.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;
using namespace std;

int main()
{

	// 定義相關參數
	const int num = 100;
	char fileName[50];
	char windowName[50];
	cv::Mat srcImage;
	for (int i = 1; i <= 2
		; i++)
	{
		// sprintf讀入指定路徑下的圖片序列
		sprintf(fileName, "%d.jpg", i);
		
		// 按照圖像文件名讀取
		srcImage = cv::imread(fileName);
		if (!srcImage.data)
		{
			std::cout << "No data!" << std::endl;
			return -1;
		}
		cv::namedWindow(fileName);
		cv::imshow(fileName,srcImage);
	}

	cv::waitKey(0);
	return 0;
}
相關文章
相關標籤/搜索