【发布时间】:2023-03-12 02:57:02
【问题描述】:
我正在使用 Utils.bitmapToMat() 从位图中加载一个 Mat。这将产生一个具有 4 个通道的矩阵。如何获得一个具有 3 个通道的矩阵,而 alpha 通道只是被移除了?
换句话说,我想要在 android 上的 opencv java 中使用 mat[:,:,0:3] 的 python 等价物。
【问题讨论】:
我正在使用 Utils.bitmapToMat() 从位图中加载一个 Mat。这将产生一个具有 4 个通道的矩阵。如何获得一个具有 3 个通道的矩阵,而 alpha 通道只是被移除了?
换句话说,我想要在 android 上的 opencv java 中使用 mat[:,:,0:3] 的 python 等价物。
【问题讨论】:
假设 alpha 通道是最后一个颜色通道(BGRA 或 RGBA 颜色格式),您可以使用 Imgproc.cvtColor 和 Imgproc.COLOR_BGRA2BGR 参数:
// Creating the empty destination matrix
Mat dst_mat = new Mat();
// Converting the image from BGRA to BGR and saving it in the dst_mat matrix
Imgproc.cvtColor(mat, dst_mat, Imgproc.COLOR_BGRA2BGR);
注意:
【讨论】: