摘要: 22 视频文件摄像头使用 opencv知识点: VIdeoCapture类 读取视频/相机 - 三种方式 读取视频帧 - 两种方式 本文所解决的问题: 如何读取视频/相机? 如何读取视频帧? 本课所解决的问题: 1.VideoCapture类以及视频读操作 引用文章:opencv学习—VideoCa 阅读全文
posted @ 2023-01-14 15:14 L707 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 21 图像旋转 opencv知识点: 仿射变换 - warpAffine 计算二维旋转的仿射矩阵 - getRotationMatrix2D 本课所解决的问题: 如何理解图像几何变换和图像变换? 图像几何变换都有什么变换? 如何理解仿射变换和透视变换? 如何实现图像的旋转? 提示在前: 笔者为了理解 阅读全文
posted @ 2023-01-14 11:02 L707 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 20 图像翻转 opencv知识点: 图像翻转 - flip 本课所解决的问题: 如何对图像进行翻转? 1.图像翻转 在opencv中,如果我们想对一个图像进行翻转,要用到这样一个API flip ==介绍如下== flip 图像翻转 共3个参数 第1个参数 输入 第2个参数 输出 第3个参数 翻转 阅读全文
posted @ 2023-01-13 17:46 L707 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 19 图像放缩与插值 个人资料,仅供学习使用 修改时间——2022年1月24日 20:17:13 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 opencv知识点: 图像放缩 - resize 插值算法 - Interpolation 本课所解决的问题: 如何对图像放缩? 阅读全文
posted @ 2023-01-13 17:26 L707 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 18 图像像素类型转换与归一化 opencv知识点: 数据类型转换 - convertTo 数据类型 - CV_bit位数+U/S/F+C通道数 归一化 - normalize 归一化类型 - NormTypes 本课所解决的问题: 如何转换图像数据类型? 如何归一化图像像素取值? 归一化有什么用? 阅读全文
posted @ 2023-01-13 17:08 L707 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 17 鼠标操作与响应 ==opencv知识点:== 设置指定窗口的鼠标处理程序 - setMouseCallback() 鼠标事件回调函数 - MouseCallback() 简单提取矩形ROI区域 - image(box) ==本课所解决的问题:== 如何通过鼠标绘制矩形? 如何通过矩形选择ROI 阅读全文
posted @ 2023-01-13 16:35 L707 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 16 多边形填充与绘制 ==opencv知识点:== 绘制多条多边形曲线 - polylines() 填充绘制的多边形 - fillPoly() 画轮廓 - drawContours() ==本课所解决的问题:== 如何根据指定的点绘制多边形? 如何填充绘制的多边形? 如何在绘制的同时,同时进行填充 阅读全文
posted @ 2023-01-13 15:42 L707 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 15 随机数与随机颜色 opencv知识点: 随机数 - RNG 线段绘制 - line() 本课所解决的问题: 如何在绘制图形中利用到随机数? 1.利用随机数设置坐标与颜色 我们绘制一个线段,把两个点的坐标,还有三个通道的颜色都设置为了随机数得到 //函数定义 void randow_drawin 阅读全文
posted @ 2023-01-13 15:06 L707 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 14 图像几何形状绘制 opencv知识点: 四种几何图形绘制 - 矩形 圆形 线段 椭圆 图片融合 - addWeighted() 本课所解决的问题: 如何绘制几何图形? 1.图形绘制 在opencv中,图像的坐标是,↓y,→x,在填写参数的时候一定要注意 接下来,我们开始绘制几何图形 ==矩形= 阅读全文
posted @ 2023-01-13 14:35 L707 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 13 图像像素值统计 opencv知识点: 图像像素最小/最大值 - minMaxLoc() 图像像素均值/标准差 - meanStdDev() 本课所解决的问题: 如何获取图像像素的最小/最大值? 如何获取图像像素的均值/标准差? 图像像素统计值用途是什么? 1.常用的像素值统计 在图像分析的时候 阅读全文
posted @ 2023-01-13 11:13 L707 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 12 图像色彩空间转换 - 进阶 opencv知识点: 色彩空间转换 - cvtColor() 提取指定色彩范围区域 - inRange() 更换图像背景 - copyTo的mask用法 本课所解决的问题: 如何提取指定色彩范围的区域? 如何更换图像的背景? 1.HSV色彩空间 HSV相较于BGR色 阅读全文
posted @ 2023-01-13 10:30 L707 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 11 通道分离与合并 opencv知识点: 通道分离 - split() 通道合并 - merge() 通道混合 - mixChannels() 本课所解决的问题: 如何分离RGB三通道? 如何合并RGB三通道? 如何对通道进行混合? 1.RGB三通道的解释 彩色图像,是由RGB三个通道合并起来得到 阅读全文
posted @ 2023-01-13 09:35 L707 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 10 图像像素的逻辑操作 opencv知识点: 绘制矩形 - rectangle() 位运算 - 四种逻辑操作 本课所解决的问题: 如何绘制矩形? 绘制图形的最后一个参数shift有什么作用? 如何对图像进行位运算? 1.绘制矩形 我们先来绘制两个矩形,绘制矩形有两种传参方式 rectangele 阅读全文
posted @ 2023-01-12 17:57 L707 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 09 OpenCV自带颜色表操作 opencv知识点: opencv4的颜色表 应用图像映射 - applyColorMap() 本科所解决的问题: 如何使用OpenCV中的颜色表? 如何循环转换各种颜色风格? 1.Opencv4的[颜色表 opencv提供22种颜色风格的查找表映射,官方文档查阅C 阅读全文
posted @ 2023-01-12 17:08 L707 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 08 回调函数+键盘响应操作 opencv知识点: 回调函数 - callback 键盘响应 - waitKey() 本课所解决的问题: 什么是回调函数(callback)? 在opencv中如何进行键盘响应? 如何利用键盘响应对图像进行操作? 处理视频的时候waitKey的参数应为多少? 1.回顾 阅读全文
posted @ 2023-01-12 16:18 L707 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 07 滚动条操作2.0 - 调整亮度与对比度 opencv知识点: 创建滚动条 - createTrackbar() 处理滚动条事件的函数 - TrackbarCallback() 亮度与对比度的概念 巧用图片融合 - addWeighted() 本课所解决的问题: 如何利用createTrackb 阅读全文
posted @ 2023-01-12 14:42 L707 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 06 滚动条操作1.0 - 调整图像亮度 opencv知识点: 创建滚动条 - createTrackbar() 处理滚动条事件的函数 - TrackbarCallback() 本课所解决的问题: 如何创建滚动条? 如何通过滚动条进行亮度调整? 1.滚动条的创建 上一课中,我们调整亮度只能一次一次的 阅读全文
posted @ 2023-01-12 14:09 L707 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 05 图像像素的算术操作 opencv知识点: 图像像素算术操作 - 运算符 值的截断 - saturate_cast<>() 图像像素算术操作 - 专用函数 本课所解决的问题: 如何改变图像的亮度? 如何进行图像像素的算术操作? 如何对可能溢出的值进行截断? 1.改变图像亮度 对于改变图像的亮度, 阅读全文
posted @ 2023-01-12 11:15 L707 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 04 图像像素的读写操作 opencv知识点: 获取/改变图像的某个像素 - Mat::at 图像像素 - 数组遍历 图像像素 - 指针遍历 本课所解决的问题: 如何获取/改变图像的某个像素? 如何利用数组遍历图像像素? 如何利用指针遍历图像像素? 1.获取某个像素 我们获取/改变图像的某个像素,要 阅读全文
posted @ 2023-01-12 09:49 L707 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 03 图像对象的创建与赋值 ==opencv知识点:== Mat类 图像复制的3种方法 图像属性的获取 Mat对象的创建 Mat对象的赋值 ==本课所解决的问题:== Mat是什么? Mat对象克隆/拷贝与赋值的区别? 如何获取图像的属性? 如何创建空白图像? 如何对Mat对象赋值? 1.Mat类及 阅读全文
posted @ 2023-01-11 17:59 L707 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 02 图像色彩空间转换 opencv知识点: 色彩空间转换函数 - cvtColor() 图像保存 - imwrite() 图像显示 - imshow() 本课解决的问题: ==如何对图片进行色彩空间转换?== ==如何保存图像?== 1.准备事项 创建头文件quickopencv.h 以及 源文件 阅读全文
posted @ 2023-01-11 15:24 L707 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 02 图像色彩空间转换 opencv知识点: 色彩空间转换函数 - cvtColor() 图像保存 - imwrite() 图像显示 - imshow() 本课解决的问题: ==如何对图片进行色彩空间转换?== ==如何保存图像?== 1.准备事项 创建头文件quickopencv.h 以及 源文件 阅读全文
posted @ 2023-01-11 14:34 L707 阅读(27) 评论(0) 推荐(0) 编辑
摘要: OpenCV中的常用的浅拷贝和深拷贝操作和区别 在OpenCV中,Mat类使用非常广泛,对于Mat容器的拷贝方式将对程序运行效率产生很大的影响,在Mat中效率最高的浅拷贝,效率较低的是深拷贝。 1.什么是深拷贝和浅拷贝? 深拷贝: 将数据拷贝到一段新的内存中,源数据和拷贝之后的数据在内存中相互独立, 阅读全文
posted @ 2023-01-11 08:58 L707 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 3.4图像上绘制几何图形 基础 point 它表示由其图像坐标和指定的2D点。我们可以将其定义为:x,y Point(x , y); Scalar 代表一个4元素的向量。Scalar类型广泛用于OpenCV中,用于传递像素值。 用它来表示BGR颜色值(3个参数)。如果不使用最后一个参数,则无需定义最 阅读全文
posted @ 2023-01-10 15:57 L707 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 10 阅读全文
posted @ 2023-01-09 17:01 L707 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 9 阅读全文
posted @ 2023-01-09 17:01 L707 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 8 阅读全文
posted @ 2023-01-09 17:00 L707 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 7 阅读全文
posted @ 2023-01-09 16:59 L707 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 6 阅读全文
posted @ 2023-01-09 16:59 L707 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 5 阅读全文
posted @ 2023-01-09 16:59 L707 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 4 阅读全文
posted @ 2023-01-09 16:53 L707 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 3 阅读全文
posted @ 2023-01-09 16:53 L707 阅读(22) 评论(0) 推荐(0) 编辑
摘要: C++基础入门 1 C++初识 1.1 第一个C++程序 编写一个C++程序总共分为4个步骤 创建项目 创建文件 编写代码 运行程序 1.1.1 创建项目 ​ Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 1.1.2 创建文件 右键源文件,选择添加->新建项 给C++ 阅读全文
posted @ 2022-12-30 16:55 L707 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Mat-基本图像容器 目标 我们有多种方式从现实世界中获取数字图像:数码相机,扫描仪,计算机断层扫描和磁共振成像等等。在任何情况下,我们(人类)看到的都是图像。然而,当将其转换为数字设备时,我们记录的是图像中每个点的数值。 例如在上述图像中,您可以看到汽车的镜像只不过是一个包含像素点所有强度值的矩阵 阅读全文
posted @ 2022-12-22 13:41 L707 阅读(317) 评论(0) 推荐(1) 编辑
摘要: OpenCV 在Windows中安装 此处的描述在Windows 7 SP1上进行了测试。然而,它也应该适用于任何其他相对现代的Windows操作系统。 如果您按照以下步骤后遇到错误,请随时通过OpenCV Q&A论坛与我们联系。我们将竭尽全力帮助您。 注意 要使用OpenCV库,您有两个选项:通过 阅读全文
posted @ 2022-12-22 13:17 L707 阅读(3413) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-12-07 16:15 L707 阅读(15) 评论(0) 推荐(0) 编辑
摘要: ADC 独立模式 多通道-DMA #include "./adc/bsp_adc.h" __IO uint16_t ADC_ConvertedValue[RHEOSTAT_NOFCHANEL]={0}; DMA_HandleTypeDef DMA_Init_Handle; ADC_HandleTyp 阅读全文
posted @ 2022-10-27 15:41 L707 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 【常用传感器】DS18B20温度传感器原理详解及例程代码 数字温度传感器(DS18B20) DS18B20是一款常用的高精度的单总线数字温度测量芯片。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 传感器参数 测温范围为-55℃到+125℃,在-10℃到+85℃范围内误差为±0.4°。 返回1 阅读全文
posted @ 2022-10-26 11:22 L707 阅读(3247) 评论(0) 推荐(0) 编辑
摘要: 13.2 串口中断接收过程 当DR每存储一帧数据时候,产生一次中断,根据前面的经验, 13.3串口接收中断编程的流程 第一步 串口初始化 打开串口时钟 配置串口初始化函数 设置串口接收中断使能 配置中断优先级打开系统中断使能。 在串口的初始化函数的回调函数中编写IO初始化 第二步 编写串口接收中断入 阅读全文
posted @ 2022-10-22 21:44 L707 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 13 串口发送 如何判定按键按下的时间是多少? 我们需要用屏幕显示出来? 此外,我们想和C语言一样,程序的每个环节我们想要验证一下,我们也需要实时的去显示一些内容,这些都需要串口的功能去实现。 13.1通讯协议基础知识 通讯协议 有很多分类方式 按照不同的方式进行划分 根据通讯的方向分为 从实用的角 阅读全文
posted @ 2022-10-22 15:20 L707 阅读(60) 评论(0) 推荐(0) 编辑