1. 程式人生 > >OpenCV 學習(四)之 將圖片插入另一張圖片中的實現(ROI)

OpenCV 學習(四)之 將圖片插入另一張圖片中的實現(ROI)

    /**
     * 將一張圖片插入另一種圖片中
     */
    static void exam2() {

            Mat image = Imgcodecs.imread("./images/Lena.jpg");
            Mat logo = Imgcodecs.imread("./images/logo2.jpg");

            Rect rect_logo = new Rect(150,150,220,200);//設定 logo 圖片的剪下位置以及大小,即左上角的座標為(150,150),寬為220,高為200
            Rect rect_image = new
Rect(image.cols()-220,image.rows()-200,220,200);//設定image圖片的剪下位置及大小,這裡注意:兩個剪下的大小大小要一致 Mat logoRoi = new Mat(logo,rect_logo);//對圖片進行剪下 Mat imageRoi = new Mat(image,rect_image);//對圖片進行剪下 Mat clone = image.clone();//複製一層,為什麼要這麼做我也不知道 Mat cloneRoi = new Mat(clone,rect_image); Core.add(logoRoi, imageRoi, cloneRoi);//將圖片混入,如果圖片大小不一樣會報錯
new ShowImage(clone);//顯示圖片,ShowImage 是自己寫的顯示圖片的工具類 logoRoi.copyTo(cloneRoi);//將圖片替換 new ShowImage(clone); }

注:這個類沒做圖片為空的判斷,請自行確認圖片路徑是否正確,或者加一個非空判斷。