Opencv3從頭開始(一)圖像讀取、保存、顯示

Opencv3從頭開始(一)圖像讀取、保存、顯示


趁有時間把淺墨大佬的opencv入門重新理解一下,從頭開始,有一起的小夥伴歡迎加入哦。
主要內容爲實戰代碼,帶有部分理解。
當然這次特地帶上了倉老師一起學習。
標配框架

#include<opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;

int main(int argc, char* argv[]){
    Mat image;
    waitKey(0);
    return 0;
}

Mat類用於定義一個矩陣變量,常用於存儲圖像,也就是說,讀取圖像前必須要定義一個Mat類中。
圖像讀取
imread內有兩個參數,默認爲1,即默認顯示3通。當修改爲0時,爲灰度圖像。

Mat image,image_1;
image=imread("倉老師.jpg");
image_1=imread("倉老師.jpg",0);

窗口定義
namedWindow設置窗口標識和窗口類型

namedWindow("image",CV_WINDOW_NORMAL);//可以改變窗口的大小
namedWindow("image_1",CV_WINDOW_AUTOSIZE);//自動調整窗口,不能手動改變

圖像顯示
imshow有兩個參數,一是窗口標識名,二是顯示圖像

imshow("image",image);
imshow("image_1",image_1);

在這裏插入圖片描述
在這裏插入圖片描述

關閉窗口

destroyWindow("image");
destroyAllWindows();

保存圖片

imwrite("gray_cang.jpg",image_1);

給倉老師加個man?
在這裏插入圖片描述

#include<opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>

using namespace std;
using namespace cv;

int main(int argc, char* argv[]){
    Mat image,image_1;
    //圖像顯示
    image=imread("倉老師.jpg");
    image_1=imread("man.jpg");
    //namedWindow("image",CV_WINDOW_NORMAL);
    //namedWindow("image_1",CV_WINDOW_AUTOSIZE);
    //imshow("image",image);
    //imshow("image_1",image_1);
    resize(image_1,image_1,Size(100,100));
    Mat image_roi;
    image_roi=image(Rect(400,400,image_1.cols,image_1.rows));
    addWeighted(image_roi,0.8,image_1,0.3,0.2,image_roi);
    imshow("add",image);
    // destroyWindow("image");
    // destroyAllWindows();
    //imwrite("cang.jpg",image_1);
    waitKey(0);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章