OpenCV-C++ 图像上采样和降采样
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了OpenCV-C++ 图像上采样和降采样,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1620字,纯文字阅读大概需要3分钟。
内容图文
目录图像金字塔是由一系列图像组成的,最底层图像的尺寸最大,最上层图像的尺寸最小;
有两种类型的金字塔:
- 高斯金字塔: 用于下采样;
- 拉普拉斯金字塔: 用于重建一张图片,利用上层的降采样图像进行恢复;
图像金字塔中包含两种操作,分别是上采样操作和降采样操作;
具体来看OpenCV中有关pyrUp
和pyrDown
的使用;
图像上采样
用于放大图像;
OpenCV中的pyrUp
的使用:
// 图像上采样
Mat srcUp;
pyrUp(src, srcUp, Size(src.cols*2, src.rows*2));
图像降采样
用于缩小图像;
OpenCV中的pyrDown
的使用:
// 图像降采样
Mat srcDown;
pyrDown(src, srcDown, Size(src.cols/2, src.rows/2));
高斯不同(Difference of Gaussian, DOG)
高斯不同(Different of Gaussian-DOG)
- 定义: 就是把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像,称为高斯不同(DOG);
- 高斯不同是图像图像的内在特征,在灰度图像增强, 角点检测中经常用到;\
Mat srcGray, g1, g2, dogImg;
// 将RGB图像转换称Gray图像
cvtColor(src, srcGray, COLOR_BGR2GRAY);
// 高斯不同(Difference of Gaussian, DOG)
GaussianBlur(srcGray, g1, Size(5, 5), 0, 0);
GaussianBlur(g1, g2, Size(5, 5), 0, 0);
subtract(g1, g2, dogImg, Mat());
// 归一化显示
normalize(dogImg, dogImg, 255, 0, NORM_MINMAX);
另外,有关subtract
API的使用:
void subtract(InputArray src1, InputArray src2, OutputArray dst,
InputArray mask = noArray(), int dtype = -1);
该方法用于计算两个数组或者数组与标量之间的差;
src1
表示第一个数组或者标量src2
表示第二个数组或者标量dst
表示输出,与输入数组的维度和通道数目一致;mask
可选,一个8-bit单通道数组,用于指定要更改的输出数组的元素;
上面的API等同于:
dst = src1 - src2;
dst -= src1; // equivalent to subtract(dst, src1, dst);
Reference:
内容总结
以上是互联网集市为您收集整理的OpenCV-C++ 图像上采样和降采样全部内容,希望文章能够帮你解决OpenCV-C++ 图像上采样和降采样所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。