【个人笔记】OpenCV4 C++ 快速入门 19课
个人资料,仅供学习使用
修改时间——2022年1月24日 20:17:13
学习课程:OpenCV4 C++ 快速入门视频30讲
视频老师:贾志刚
19 图像放缩与插值
opencv知识点:
- 图像放缩 - resize
- 插值算法 - Interpolation
本课所解决的问题:
- 如何对图像放缩?
- 什么是插值算法?
1.图像放缩
在opencv当中,如果我们想对一个图像放缩,我们要用到这样一个API
- resize
介绍如下
resize重设图像宽长共6个参数第1个参数 输入第2个参数 输出第3个参数 输出图像的size第4个参数 fx 沿水平的比例因子第5个参数 fy 沿垂直的比例因子可以使用size做放缩插值,也可以使用fx,fy卷积做放缩插值第6个参数 插值方法(查阅文档可知,下文会进行简单介绍)
resize的应用场景有很多,其中最常见的就是:
在做一些神经网络训练,深度网络训练,卷积网络训练等的时候,为了方便处理,会把图像resize到指定大小
2.插值算法
关于插值算法,这里简单介绍一下
首先,图像放缩的时候为什么要用插值算法呢?
这是因为,图像放缩时,像素点的位置会发生变化
要想得到放缩后图像像素点的位置,就要经过某种算法计算得来
这种计算的算法就是插值算法。
插值算法有很多相关的应用场景,比如:
- 几何变换
- 透视变换
- 插值计算新像素
- resize
而常见的插值算法有4种,其中前两种比较快,后两种比较慢
- INTER_NEAREST = 0 ——最近邻插值
- INTER_LINEAR = 1 ——线性插值
- INTER_CUBIC = 2 ——立方插值
- INTER_LANCZOS4 = 4 ——Lanczos插值
opencv4支持的插值算法如下
3.对一张图像进行放缩
接下来我们通过resize对一张图像进行缩小,放大
//函数定义
void resize_demo(Mat& image);//函数实现
void QuickDemo::resize_demo(Mat& image) {Mat zoomin, zoomout;//缩小,放大int w = image.cols;int h = image.rows;imshow("原图", image);//resize(image, zoomin, Size(w / 2, h / 2), 0, 0, INTER_LINEAR);//imshow("缩小", zoomin);resize(image, zoomout, Size(w * 2, h * 2), 0, 0, INTER_LINEAR);imshow("放大", zoomout);}
缩小
放大
4.插值算法 - 进阶
笔者目前层次,暂时用不到进阶的插值插值算法
关于插值的更深学习,具体的可以查课贾志刚老师的博客
- 图像放缩之临近点插值
- 图像处理之三种常见双立方插值算法
- 图像放缩之双立方插值
- 图像放缩之双线性内插值
- 图像处理之Lanczos采样放缩算法
本课所用API查阅
1.resize
2.InterpolationFlags
3.InterpolationMasks
【个人笔记】OpenCV4 C++ 快速入门 19课相关推荐
- 【个人笔记】OpenCV4 C++ 快速入门 29课
个人资料,仅供学习使用 修改时间--2022年2月19日 15:02:27 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 29 高斯双边模糊 opencv知识点: 高斯双边模 ...
- 【个人笔记】OpenCV4 C++ 快速入门 26课
个人资料,仅供学习使用 修改时间--2022年2月13日 20:49:07 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 26 直方图均衡化 opencv知识点: 均衡灰度图 ...
- 【个人笔记】OpenCV4 C++ 快速入门 28课
个人资料,仅供学习使用 修改时间--2022年2月19日 14:56:40 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 28 高斯模糊 opencv知识点: 高斯模糊 - ...
- 【个人笔记】OpenCV4 C++ 快速入门 27课
个人资料,仅供学习使用 修改时间--2022年2月19日 10:57:37 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 27 图像卷积操作 opencv知识点: 均值卷积 ...
- 【个人笔记】OpenCV4 C++ 快速入门 25课
个人资料,仅供学习使用 修改时间--2022年2月13日 20:45:23 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 25 二维直方图 opencv知识点: 计算直方图数 ...
- 【个人笔记】OpenCV4 C++ 快速入门 23课
个人资料,仅供学习使用 修改时间--2022年1月26日 00:49:43 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 23 视频处理与保存 opencv知识点: Vide ...
- 【个人笔记】OpenCV4 C++ 快速入门 22课
个人资料,仅供学习使用 修改时间--2022年1月25日 22:09:17 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 22 视频文件摄像头使用 opencv知识点: VI ...
- 【个人笔记】OpenCV4 C++ 快速入门 20课
个人资料,仅供学习使用 修改时间--2022年1月24日 22:09:02 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 20 图像翻转 opencv知识点: 图像翻转 - ...
- 【个人笔记】OpenCV4 C++ 快速入门 17课
个人资料,仅供学习使用 修改时间--2022年1月23日 17:59:14 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 17 鼠标操作与响应 opencv知识点: 设置指定 ...
最新文章
- 记录服务器连接jupyter notebook过程
- 一机玩转docker之十:创建及使用ssh镜像
- 〔译〕TypeScript 2.0 候选版发布
- P4762-[CERC2014]Virus synthesis【PAM,dp】
- 复习 Python 匿名函数 内建函数
- 解决IDEA GIT密码输入错误后,报Authentication failed ... 不再弹出输入框,提交更新失败
- 计算机考试c语言真题及答案,计算机二级c语言考试试题及答案
- Create Material by BDC and BAPI
- Verilog 38译码器
- 硬盘测试软件测试有问题,用crystaldiskinfo工具检测出来硬盘不良怎么办
- 全网功能最强Modbus上位机软件
- 微信小程序新版头像昵称API [保存用户头像到服务器]
- 1.2 网络爬虫分类
- Android中的多线程
- influx客户端基本操作
- android vr播放器 开发,Android应用开发之Android VR Player(全景视频播放器)- ExoPlayer播放器MPEG-DASH视频播放...
- 云服务器使用Windows系统部署网站
- 自制hdmi线一头改vga图_佛山HDMI接口批发报价
- 2013数学建模B题碎纸片拼接复原参考资料
- python如何打印乘法表_用python打印乘法表