OpenCV3.4.3模块功能一览--源自Opencv中文网教程

【Mat 类】
Mat A, C;                                 // 只创建信息头部分
A = imread(argv[1], CV_LOAD_IMAGE_COLOR); // 这里为矩阵开辟内存
Mat B(A);                                 // 使用拷贝构造函数,浅拷贝(只拷贝矩阵头,但指向的仍是同一个阵列)
C = A;                                    // 赋值运算符

对于Mat类庞大的计算量来自于矩阵的大小。所以要慎用深拷贝。

遍历图像的方法
推荐的效率最高的查找表赋值方法:

uchar* p;
for( i = 0; i < nRows; ++i)
{
    p = I.ptr<uchar>(i);
    for ( j = 0; j < nCols; ++j)
    {
        p[j] = table[p[j]];             
    }
}

这里,我们获取了每一行开始处的指针,然后遍历至该行末尾。如果矩阵是以连续方式存储的,我们只需请求一次指针、然后一路遍历下去就行。
彩色图像 的情况有必要加以注意:因为三个通道的原因,我们需要遍历的元素数目也是3倍。

filter2D 函数,用于计卷积,当核的尺寸小于11*11时,是直接计算,大于时,用的是dft计算。
addWeighted 函数,用于实现两个矩阵求和,但是两个矩阵的尺寸必须一致,否则没有意义。

公式:
dst(x,y)=∑kernel(x′,y′)∗src(x+x′−anchor.x,y+y′−anchor.y)
-------- 0≤y′<kernel.
---------rows0≤x′<kernel.cols,

convertTo() 函数,对像素进行线性变化

公式:
m(x,y)=saturate_cast(α(∗this)(x,y)+β)

【图像处理imgproc】

滤波器
滤波器都是为了平滑(模糊)图像,简单初步消除细碎的噪声。

  1. 归一化块滤波器 (Normalized Box Filter)
    blur()
    最简单的滤波器, 输出像素值是核窗口内像素值的 均值

  2. 高斯滤波器 (Gaussian Filter)
    GaussianBlur()
    最有用的滤波器 (尽管不是最快的)。

    将输入数组的每一个像素点与 高斯内核 卷积将卷积和当作输出像素值 中间像素的加权系数是最大的,周边像素的加权系数随着它

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值