美文网首页
cvtColor(颜色空间转换)

cvtColor(颜色空间转换)

作者: itfitness | 来源:发表于2019-08-06 14:23 被阅读0次

    概念

    用于将图像从一个颜色空间转换到另一个颜色空间的转换,比如将彩色图像转换为灰度图像等。

    函数讲解

    ●函数原型
    ○c++

    void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 )
    

    ○Android

    void cvtColor(Mat src, Mat dst, int code, int dstCn)
    

    ●参数解释
    ○src:源图像Mat对象
    ○dst:目标图像Mat对象
    ○code:转换的方式,所取的值以CV_开头后面是转换的方式,比如将RGBA转换为GRAY就是:CV_RGBA2GRAY
    ○dstCn:输出的通道数 (0='automatic'),如果指定的值是默认值0,那么通道数将由输入图像和颜色转换码决定。

    函数使用

    ●c++中

    #include<opencv2/opencv.hpp>
    using namespace cv;
    int main() {
        Mat src = imread("C:/Users/Administrator/Desktop/txyzm.png");//引入源图像
        if (src.empty()) {
            return -1;
        }
        Mat graySrc;
        cvtColor(src, graySrc,CV_BGR2GRAY);//将BGR转换为GRAY
        imshow("graySrc", graySrc);//展示目标图像
        waitKey(0);
        return 0;
    }
    

    ●Android中

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_beauty);//获取源图像Bitmap对象
    Mat src = new Mat();
    Mat dst = new Mat();
    Utils.bitmapToMat(bitmap,src);//Bitmap转换为Mat对象
    Imgproc.cvtColor(src,dst,Imgproc.COLOR_RGBA2GRAY);//颜色空间转换
    Utils.matToBitmap(dst,bitmap);//Mat转换为Bitmap对象
    imageView.setImageBitmap(bitmap);
    

    相关文章

      网友评论

          本文标题:cvtColor(颜色空间转换)

          本文链接:https://www.haomeiwen.com/subject/uwwidctx.html