OpenCV学习笔记(copyto与Vec4b)

copyto

函数为:

C++: void Mat::copyTo(OutputArray m) const
C++: void Mat::copyTo(OutputArray m, InputArray mask) const
调用方式为:
srcImage.copyTo(imageROI,mask);
srcImage为需要复制的图片,
imageROI为需要覆盖的区域,最终该位置的显示为图片srcImage
mask为行列与srcImage相同的掩膜矩阵(可以由图片复制),如果矩阵某元素为零,则对应位置像素无需覆盖,保留imageROI中对应位置的像素值。

Vec4b

void HelloWorld::convertBRGAtoRGBA(Mat mat, Mat dst)
{
    dst(mat); //create a copy
    for( int rowIndex = 0 ; rowIndex < mat.rows ; ++rowIndex )
    {
        for( int colIndex = 0 ; colIndex < mat.cols ; ++colIndex )
        {
            cv::Vec4b val = mat.at<cv::Vec4b>(rowIndex,colIndex);
        char blue = val[0];
        char green = val[1];
        char red = val[2];
        char alpha = val[3];
    	}
    }
}

从上面可以看出Vec4b中:
第一个元素为蓝色分量,
第二个为绿色分量,
第三个为红色分量,
第四个为alpha分量(透明程度)

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页