0
我想寫一個圖像覆蓋在另一個圖像頂部的透明矩形圖像的功能,但它沒有分層的圖像只是刪除了我重疊和透明度貫穿整個圖像。這是我的代碼。Java OpenCV將圖像小到透明的大圖像
public static void overlayImage(String imagePath, String overlayPath, int x, int y, int width, int height) {
Mat overlay = Imgcodecs.imread(overlayPath, Imgcodecs.IMREAD_UNCHANGED);
Mat image = Imgcodecs.imread(imagePath, Imgcodecs.IMREAD_UNCHANGED);
Rectangle rect = new Rectangle(x, y, width, height);
Imgproc.resize(overlay, overlay, rect.size());
Mat submat = image.submat(new Rect(rect.x, rect.y, overlay.cols(), overlay.rows()));
overlay.copyTo(submat);
Imgcodecs.imwrite(imagePath, image);
}
編輯:下面是一些例子圖片: 前:
後:
務必發佈您的圖片和結果。 – zindarod
@Zindarod對不起,編輯。 – Jake
這裏的問題是複製後,覆蓋圖像中的Alpha通道覆蓋目標圖像中的Alpha通道。 – zindarod