opencv基礎(2)——利用ROI實現影象疊加
1、簡介
ROI(region of interest),感興趣區域。機器視覺、影象處理中,從被處理的影象以方框、圓、橢圓、不規則多邊形等方式勾勒出需要處理的區域,稱為感興趣區域,ROI。在Halcon、OpenCV、Matlab等機器視覺軟體上常用到各種運算元(Operator)和函式來求得感興趣區域ROI,並進行影象的下一步處理。
2、程式碼演示
//載入影象1和圖2 Mat mat1 = imread("/home/mark/Desktop/1.png", IMREAD_COLOR); Mat mat2 = imread("/home/mark/Desktop/2.png", IMREAD_COLOR); namedWindow("mat1", WINDOW_NORMAL); namedWindow("mat2", WINDOW_NORMAL); imshow("mat1", mat1); imshow("mat2", mat2);
//建立目標影象 Mat src((mat1.rows+mat2.rows), (mat1.cols+mat2.cols), CV_8UC3, Scalar(255, 255, 255)); namedWindow("src1", WINDOW_NORMAL); imshow("src1", src);
//設定感興趣區域大小和位置 Mat srcROI1(src, Rect(0, 0, mat1.cols, mat1.rows));//選擇目標區域roi1 Mat srcROI2(src, Rect(mat1.cols, mat1.rows, mat2.cols, mat2.rows));//選擇目標區域roi2
//把圖1和圖2拷貝到src的指定區域 mat1.copyTo(srcROI1); mat2.copyTo(srcROI2);
//顯示疊加之後的圖 namedWindow("src2", WINDOW_NORMAL); imshow("src2",src);
//讓程式暫停 waitKey();
3、測試結果
3.1、影象1
3.2、影象2
3.3、建立的影象
3.4、疊加圖