如何在java中使用opencv将透明像素设置为白色?

amrnrhlw  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(153)

Java中使用OpenCV的等效代码是什么?

#make mask of where the transparent bits are
trans_mask = image[:,:,3] == 0

#replace areas of transparency with white and not transparent
image[trans_mask] = [255, 255, 255, 255]

字符串
更新:
我不明白,为什么人们不支持这个。“简单”解决方案非常清楚,您可以在循环中分配每个像素,但这不会像这种方式那样有效。我找了一遍,没有任何线索。为什么这些人一开始就不理解这个问题,并试图讨论它。如果你们不知道就别管了。
如果你想用java高效地处理图像,这个问题对你很有用。

6xfqseft

6xfqseft1#

找到了这个,谢谢你的新Bing

Mat img = Imgcodecs.imread(imgPath, Imgcodecs.IMREAD_UNCHANGED);
Mat dst = new Mat(img.size(), CvType.CV_8UC4);
Core.inRange(img, new Scalar(0, 0, 0, 0), new Scalar(255, 255, 255, 0), dst);
Imgproc.cvtColor(dst, dst, Imgproc.COLOR_GRAY2BGRA);
Core.add(img, dst, dst);

字符串

相关问题