1. 程式人生 > >opencv基礎(2)——利用ROI實現影象疊加

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、疊加圖