OpenCV(android)将未知类型的图像转换为CV_8UC3

时间:2017-04-02 14:51:05

标签: android opencv

首先,我不知道用户输入图像的类型是什么。 但我想将它们全部转换为CV_8UC3类型。

我使用这个功能:

Imgproc.cvtColor(img,img,CvType.CV_8UC3);

但它没有用。

我试试这个:

Imgproc.cvtColor(img_edge,img_edge,Imgproc.COLOR_GRAY2RGB);

这是从灰色到RGB,但实际上我不知道输入图像的类型是什么,我只想将它们全部转换为CV_8UC3。

这可能吗?

1 个答案:

答案 0 :(得分:0)

你只需要写一个if-else子句,没有太多的情况,只有RGB以外的格式,一个带灰色,另一个带RGBA。所以你可能会这样:

if (img.channels() == 1) {
    Imgproc.cvtColor(img_edge,img_edge,Imgproc.COLOR_GRAY2BGR);
} else if (img.channels() == 4) {
    Imgproc.cvtColor(img_edge,img_edge,Imgproc.COLOR_BGRA2BGR);
}