JAVA版opencv透明,OpenCV-将PNG的透明部分变成白色
时间: 2023-11-20 21:32:17 浏览: 162
您可以使用Java OpenCV的以下代码将PNG的透明部分变成白色:
```
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
public class TransparentToWhite {
public static void main(String[] args) {
// Load the image with alpha channel
Mat image = Imgcodecs.imread("path/to/image.png", Imgcodecs.IMREAD_UNCHANGED);
// Create a new Mat with white background
Mat newImage = Mat.zeros(image.rows(), image.cols(), image.type());
newImage.setTo(new Scalar(255, 255, 255, 255));
// Copy the non-transparent pixels from the original image to the new image
image.copyTo(newImage, image);
// Save the new image with white background
Imgcodecs.imwrite("path/to/newImage.png", newImage);
}
}
```
这段代码使用`Imgcodecs.imread()`方法加载具有alpha通道的图像,并使用`Mat.zeros()`方法创建一个带有白色背景的新图像。然后,使用`image.copyTo()`方法将原始图像中的非透明像素复制到新图像中。最后,使用`Imgcodecs.imwrite()`方法将新图像保存到磁盘上。
阅读全文