【问题标题】:OpenCV (android) convert a unknown type image to CV_8UC3OpenCV (android) 将未知类型的图像转换为 CV_8UC3
【发布时间】:2017-08-27 10:33:20
【问题描述】:

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

我使用这个功能:

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

但它不起作用。

我试试这个:

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

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

这可能吗?

【问题讨论】:

    标签: android opencv


    【解决方案1】:

    你只需要写一个if-else子句,情况不多,除了RGB之外只有2种格式,一种带Gray,另一种是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);
    }
    

    【讨论】:

    • 是的,图像通常只有这 3 种风格:灰色、RGB 和 RGBA
    猜你喜欢
    • 2013-02-26
    • 2016-01-03
    • 1970-01-01
    • 2020-01-18
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    相关资源
    最近更新 更多