树莓派opencv笔记(二)矩阵掩膜操作

    科技2026-06-18  9

    opencv | 矩阵的掩膜操作

    2.1 获取像素指针 (i)

    CV_Assert(myIamge.depth()==CV_8V)

    assert : 断言 (ii) 获取像素矩阵的指针,索引 i 表示第几行,从0开始计算

    Mat.ptr<unchar>(int i=0)

    ptr : pointer (iii) 获取当前像素指针

    const uchar* current=myImage.ptr<unchar>(row)

    (iv) 获取当前像素点p(row,col)的像素值 row :横行 col : column,竖行

    p(row,col)=current[col]

    2.2 像素范围处理 函数功能:确保RGB值的范围在0 - 255之间

    saturate_cast<unchar>(-100) //返回0 saturate_cast<unchar>(256) //返回255 saturate_cast<unchar>(100) //返回100

    saturate : 浸透 cast : 铸造 saturate cast : 饱和铸造

    2.3 函数调用 filter2D 功能 (i) 定义掩膜

    Mat kernel=(Mat_<unchar>(3,3)<<0,-1,0,-1,5,-1,0,-1,0)

    白色:0 绿色:-1 红色:5 (ii)

    filter2D(src,dst,src.depth(),kernel)

    src,dst : Mat类型变量 src.depth : 表示位图深度,有32,24,8等,直接写-1表示与输入图深度一致

    Processed: 0.008, SQL: 10