core 模块. 核心功能

#core 模块. 核心功能
##Mat - 基本图像容器
1.拷贝指针:
Mat B(A);
C = A;
Mat D (A, Rect(10, 10, 100, 100) ); // using a rectangle
Mat E = A(Range:all(), Range(1,3)); // using row and column boundaries
整体拷贝:
Mat F = A.clone();
Mat G;
A.copyTo(G);
##OpenCV如何扫描图像、利用查找表和计时
LUT:

 Mat lookUpTable(1, 256, CV_8U);
 uchar* p = lookUpTable.data; 
 for( int i = 0; i < 256; ++i)
        p[i] = table[i];

table[]即为0~255对应的变换关系
然后我们调用函数 (I 是输入 J 是输出):

    LUT(I, lookUpTable, J);

##矩阵的掩码操作
filter2D函数

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

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

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

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

在这里插入图片描述
##使用OpenCV对两幅图像求和(求混合(blending))
现在我们生成图像 g(x) .为此目的,使用函数 addWeighted 可以很方便地实现:

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

这是因为 addWeighted 进行如下计算

dst = alpha* src1 + beta* src2 + gamma

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值