OpenCV一些函数

 1.线性混合操作

g(x) = (1 - \alpha)f_{0}(x) + \alpha f_{1}(x)

beta = ( 1.0 - alpha );
addWeighted( src1, alpha, src2, beta, 0.0, dst);

这是因为 addWeighted 进行如下计算

dst = \alpha \cdot src1 + \beta \cdot src2 + \gamma

这里 \gamma 对应于上面代码中被设为 0.0 的参数。


2.掩码操作

filter2D函数

滤波器在图像处理中的应用太广泛了,因此OpenCV也有个用到了滤波器掩码(某些场合也称作核)的函数。不过想使用这个函数,你必须先定义一个表示掩码的 Mat 对象:

Mat kern = (Mat_<char>(3,3) <<  0, -1,  0,
                               -1,  5, -1,
                                0, -1,  0);

然后调用 filter2D 函数,参数包括输入、输出图像以及用到的核:

filter2D(I, K, I.depth(), kern );


3.

改变图像的对比度和亮度


Note

 

我们可以不用 for 循环来访问每个像素,而是直接采用下面这个命令:

image.convertTo(new_image, -1, alpha, beta);

这里的 convertTo 将执行我们想做的 new_image = a*image + beta 。然而,我们想展现访问每一个像素的过程,所以选用了for循环的方式。实际上,这两种方式都能返回同样的结果。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值