別の画像に追加する透明な背景を持つ PNG 画像があります。
私の問題はIplImage
、背景を読み込んでいるときに背景がもう透明ではないことです-白に変わります。
javacvで背景が透明な画像を使用するにはどうすればよいですか?
IplImage src = cvLoadImage("2.png");
IplImage tmp = cvLoadImage("1.png");
cvSetImageROI(src, cvRect(41,28,tmp.width(),tmp.height())); // not the same size
cvShowImage("1", src); //before
cvCopy(src, tmp);
cvShowImage("2", src); //after
cvWaitKey(0);
cvResetImageROI(src);
アルファチャンネルを追加しようとしましたが、うまくいきませんでした:
Graphics g=src.getBufferedImage().getGraphics();
Graphics2D g2d = (Graphics2D)g;
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
10 * 0.1f));
BufferedImage a = new BufferedImage(tmp.width(), tmp.height(), BufferedImage.TYPE_INT_ARGB);
src = IplImage.createFrom(a);