OpenCV 名稱空間學習筆記

嶴野小白菜發表於2020-10-08

寫在開頭

歷經重重阻難,OpenCV環境終於於北京時間2020.10.07凌晨12:36配置成功,感謝東曉的睿智頭顱!在這充滿紀念意義的一天,讓我們開始第一章的學習[狗頭]

標配標頭檔案

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv;

Mat 類簡析

Mat 類是用於儲存影像以及其他矩陣資料的資料結構,預設情況下其尺寸為0
定義一個Mat 類物件,可以寫 cv::Mat pic(320, 640, cv::Scalar(100));

影像載入與顯示

  1. 影像載入原型:Mat imread(const strings& filename, intflags=1);
    第一個引數載入圖片的路徑名
    第二個引數載入標識,指定一個載入影像的顏色型別

  2. 影像顯示原型:void imshow(const string& winname, InputArray mat);
    第一個引數填需要顯示視窗的標識名稱
    第二個引數填需要顯示的影像

輸出影像到檔案 imwrite() 函式

函式原型:bool imwrite(const strings& filename, InputArray img, const vector< int >& params=vector< int >());

  1. 第一個引數填需要寫入的檔名
  2. 第二個引數填 Mat 型別的影像資料
  3. 第三個參數列示特定格式儲存的引數編碼

綜合示例

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv;

int main()
{
	//影像的載入和顯示
	Mat girl = imread("girl.jpg");//載入影像到 Mat
	namedWindow("【1】動漫圖");//建立一個名為“【1】動漫圖”的視窗
	imshow("【1】動漫圖", girl);//顯示名為“【1】動漫圖”的視窗
	Mat image = imread("dota.jpg", 199);
	Mat logo = imread("dota_logo.jpg");
	//載入後先顯示
	namedWindow("【2】原畫圖");
	imshow("【2】原畫圖", image);
	namedWindow("【3】logo圖");  
	imshow("【3】logo圖", logo);
	//定義一個 Mat型別,用於存放影像的 ROI
	Mat imageROI;
	imageROI = image(Rect(0, 0, logo.cols, logo.rows));
	addWeighted(imageROI, 0.5, logo, 0.3, 0, imageROI);
	namedWindow("【4】原畫+logo圖");
	imshow("【4】原畫+logo圖", image);
	waitKey(0);
	return 0;
}

(程式異常中斷)

建立滑動條

在這裡插入圖片描述

相關文章