《OpenCV3程式設計入門》——3.1.9 綜合示例程式:影象的載入、顯示與輸出
阿新 • • 發佈:2018-11-19
書中關於影象的載入、顯示與輸出的綜合應用。有些細節知識將在本部落格後續更新。
#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"); Mat logo = imread("dota_logo.jpg"); //載入後先顯示 namedWindow("【2】原畫圖"); imshow("【2】原畫圖", image); namedWindow("【3】logo圖",1); imshow("【3】logo圖", logo); // 定義一個Mat型別,用於存放,影象的ROI Mat imageROI; //方法一 imageROI = image(Rect(800, 350, logo.cols, logo.rows)); //方法二 //imageROI= image(Range(350,350+logo.rows),Range(800,800+logo.cols)); // 將logo加到原圖上 addWeighted(imageROI, 0.5, logo, 0.3, 0., imageROI); //顯示結果 namedWindow("【4】原畫+logo圖"); imshow("【4】原畫+logo圖", image); //-----------------------------------【三、影象的輸出】-------------------------------------- // 描述:將一個Mat影象輸出到影象檔案 //----------------------------------------------------------------------------------------------- //輸出一張jpg圖片到工程目錄下 imwrite("由imwrite生成的圖片.jpg", image); waitKey(0); return 0; }
執行結果:
dota原圖 | dota原圖+logo圖 |