自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 STM32F103C8T6 驱动4针0.96 IIC液晶显示

oled.c文件 本次例程取模大小为 16*16。OLED_Font.h 文字取模存放的位置。注意 wide字宽要与取模对应的字宽相对应。

2024-04-21 19:19:46 263

转载 Proteues里51单片机P0口灰色问题

如图:后来发现,灰色引脚时悬空状态,不确定,读取不了引脚状态。解决方法:加一个适当阻值的电阻就好,这样就能保证默认的上拉状态了。在后面查资料时,发现原来是我自己对51单片机结构不够了解。

2024-03-30 17:33:10 231

转载 Proteus常用元件图示及位置

搭配网络标号使用(鼠标移动到导线上->右键属性->添加网络标号)POT-LIN 滑动电阻(调整精度为10%)POT-LOG 滑动电阻(调整精度为10%)终端模式->POWER:电源(默认+5v)POT-HG 滑动电阻(调整精度为1%)终端模式->GROUND:接地电源。active:活动的,可以发出声音。cc表示共阴极,ca表示共阳极;SW-SPST 一位开关。SW-SPDT 两位开关。总线模式->蓝色粗线:总线。终端模式->DEFAULT。device:不能发出声音。右边->选择激励源模式。

2024-03-17 13:50:21 12276

转载 51单片机最小系统

单片机最小系统也称为单片机最小应用系统,是指使用最少的原件组成单片机可以工作的系统。电路原理图是为了表达这个电路的工作原理而存在的,很多器件在绘制的时候更多的考虑是方便原理图分析,而不是表达各个器件实际位置。比如原理图中的单片机引脚图,引脚的位置是可以随意改变的,但是每个引脚上有一个数字标号,这个数字标号才是单片机真正的引脚位置。一般情况下,双列自插封装的芯片,左上角是1引脚,逆时针旋转引脚号依次增加,一直到右上角是最大引脚号,例如:STC89C52单片机芯片一共有40个引脚,因此右上角就是40引脚。

2024-03-17 13:41:01 737

转载 CSDN创建二级专栏

双击分类名称,即可编辑,输入 “#” + “空格” + “分类名称” 可将一级分类改成二级分类。如果是旧文章移动到二级目录下。个人分类与专栏管理合并啦!如果是在此目录下写新的文章。

2024-03-16 19:21:23 52

转载 CSDN快速转载方法

第二步:我们在右上角输入“article_content”,按下回车后,会自动弹到这一行,我们鼠标放这可以看到文章内容被全选。第一步:在想要转载文章的页面点击鼠标右键,选择检查元素,然后点击。第三步:在这一行点击鼠标右键,如下图,再点击复制。下粘贴,右边可以预览原文内容,就可以发送了。

2024-03-16 18:57:19 19

原创 C++基础笔记(二)函数重载和类

文章目录一、C++小案例1.设计圆类2.设计学生类二、内联函数 解决宏缺陷问题1.宏缺陷2.内联函数注意事项3.内联编译的限制三、函数参数1.函数默认参数2.函数占位参数四、函数重载五、类的封装1. C语言下的封装2.C++语言下的封装一、C++小案例1.设计圆类class 类名{public 公共权限设置 成员属性设置 成员函数}使用类 创建对象 实例化对象类名 对象名通过对象 来设置属性 调用成员函数#define _CRT_SECURE_NO_WARNINGS#incl

2020-07-03 18:45:19 3515

转载 RM信仰板锁死问题

转载地址

2020-06-30 17:10:55 196

原创 C++基础笔记(一)引用和对C的扩展

文章目录一、C++初识1.Hello World2.头文件二、C++对C的扩展1. 双冒号作用域运算符2. namespace 命名空间3. using声明和using编译指令4.C++对C语言增强三、引用基本语法1.基本语法2.参数3种传递方式3.引用的注意事项4. 如果函数的返回值是引用,那么这个函数调用可以作为左值5.引用的本质就是一个指针变量6.指针的引用7.常量引用一、C++初识1.Hello World#include <iostream> //标准输入输出流 i-in输入

2020-06-29 18:18:39 286

原创 OpenCV笔记(二十七)轮廓发现

文章目录一、阈值发现二、相关API1. findContours2.drawContours三、处理步骤四、综合例程一、阈值发现find contour轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法。所以边缘提取的阈值选定会影响最终轮廓发现结果二、相关API1. findContours轮廓发现InputOutputArray binImg, // 输入图像,非0的像素被看成1,0的像素值保持不变,8-bit OutputArrayOfArrays contours,//

2020-05-22 15:03:20 402

原创 Proteus与keil联合仿真

文章目录一、操作步骤附注:遇到的问题一、操作步骤第一步:从proteus选取所需元件进行绘图第二步:勾选远程编译监视器第三步:在keil中编写单片机程序第四步:keil输出hex文件第五步:配置keil Debug部分第六步:配置proteus,联系keil和proteus第七步:proteus和keil联合仿真第八步:观察结果附注:遇到的问题keil debug里没有proteus选项解决方案:下载vdmagdi.exe即可...

2020-05-21 15:12:30 23277 2

原创 VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0

文章目录一、软件需求二、CMAKE编译三、VS2019编译四、系统环境变量配置五、VS2019环境变量配置六、程序验证七、VS2019属性页没有Microsoft.Cpp.x64.user解决办法一、软件需求VS2019社区版、win10操作系统、opencv4.1.0、opencv_contrib_4.1.0、cmake3.15.3VS2019社区版(免费) 下载地址OpenCV4.1...

2020-04-15 16:31:36 617 1

原创 OpenCV特征提取与检测(一)图像特征描述

文章目录理论理论1. 图像特征可以表达图像中对象的主要信息、并且以此为依据可以从其它未知图像中检测出相似或者相同对象2. 常见的图像特征边缘角点纹理3. 图像特征描述描述子生成4. 特征提取与描述SIFTSURFHOGHaarLBPKAZEAKAZEBRISK...

2020-04-15 16:29:44 286

原创 C++遍历文件夹目录

文章目录一、方法一:VS2019二、方法二:CMD一、方法一:VS2019// dirlist.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <string>#include <io.h>#include <vector>#include <iostream>using na...

2020-04-15 15:50:38 745

原创 OpenCV笔记(三十二)基于距离变换与分水岭的图像分割

文章目录一、理论1.图像分割2.距离变换3.分水岭变换二、相关API1.distanceTransform2.watershed三、处理步骤四、综合例程一、理论1.图像分割Image Segmentation图像分割是图像处理最重要的处理手段之一图像分割的目标是将图像中像素根据一定的规则分为若干(N)个cluster集合,每个集合包含一类像素。根据算法分为监督学习方法和无监督学习...

2020-04-14 13:28:39 306

原创 OpenCV笔记(三十一)点多边形测试

文章目录一、概念二、相关API三、处理步骤四、综合例程一、概念点多边形测试测试一个点是否在给定的多边形内部,边缘或者外部二、相关APIcv::pointPolygonTestpointPolygonTest(InputArray contour,// 输入的轮廓Point2f pt, // 测试点bool measureDist // 是否返回距离值,如果是fal...

2020-04-10 14:42:21 184

原创 OpenCV笔记(三十)图像矩

文章目录一、矩的概念介绍1.几何矩2.图像中心二、相关API1.moments2.contourArea3.arcLength三、处理步骤四、综合例程一、矩的概念介绍1.几何矩几何矩中心距中心归一化距2.图像中心Center(x0, y0)二、相关API1.momentscv::moments 计算生成数据moments(InputArray ...

2020-04-10 14:41:49 279

原创 OpenCV笔记(二十九)轮廓周围绘制矩形框和圆形框

文章目录一、相关API1.approxPolyDP2.boundingRect3.minAreaRect4.minEnclosingCircle5.fitEllipse二、处理步骤三、综合例程一、相关API1.approxPolyDP基于RDP算法实现,目的是减少多边形轮廓点数approxPolyDP( InputArray curve, OutputArray a...

2020-04-10 14:41:09 236

原创 OpenCV笔记(二十八)凸包

文章目录一、理论1.凸包2.Graham扫描算法二、相关API三、处理步骤四、综合例程一、理论1.凸包Convex Hull什么是凸包,在一个多变形边缘或者内部任意两个点的连线都包含在多边形边界或者内部。正式定义:包含点集合S中所有点的最小凸多边形称为凸包2.Graham扫描算法首先选择Y方向最低的点作为起始点p0从p0开始极坐标扫描,依次添加p1….pn(排序顺序是...

2020-04-10 14:40:38 187

原创 OpenCV笔记(二十六)模板匹配

文章目录一、理论1.模板匹配介绍二、匹配算法介绍1.计算平方不同2.计算相关性3.计算相关系数4.计算归一化平方不同5.计算归一化相关性6.计算归一化相关系数7.总结三、相关API四、综合例程一、理论1.模板匹配介绍模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。所以模板匹配首先需要一个模板图像T(给定的子图像),另外需要一个待检测的图像-源图像S工作方法,在带检...

2020-04-10 14:39:28 257

原创 OpenCV笔记(二十五)直方图反向投影

文章目录一、理论二、反向投影-步骤三、处理步骤四、综合例程一、理论反向投影是反映直方图模型在目标图像中的分布情况,简单点说就是用直方图模型去目标图像中寻找是否有相似的对象。通常用HSV色彩空间的HS两个通道直方图模型二、反向投影-步骤建立直方图模型计算待测图像直方图并映射到模型中从模型反向计算生成图像三、处理步骤加载图片imread将图像从RGB色彩空间转换到HSV色彩空...

2020-04-05 19:01:52 172

原创 OpenCV笔记(二十四)直方图比较

文章目录一、概述二、比较方法1.相关性计算2.卡方计算3.十字计算4.巴氏距离计算三、处理步骤四、相关API五、综合例程一、概述对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间,然后可以通过计算H1与H2的之间的距离得到两个直方图的相似程度进而比较图像本身的相似程度二、比较方法1.相关性计算CV_COMP_CORREL2.卡方计算CV_COMP_CHISQR...

2020-04-05 15:58:58 287

原创 OpenCV笔记(二十三)直方图计算

文章目录一、直方图概念二、相关API1.split2.calaHist三、综合例程一、直方图概念假设有图像数据8x8,像素值范围0~14共15个灰度等级,统计得到各个等级出现次数及直方图如右侧所示,每个紫色的长条叫BIN上述直方图概念是基于图像像素值,其实对图像梯度、每个像素的角度、等一切图像的属性值,我们都可以建立直方图。这个才是直方图的概念真正意义,不过是基于图像像素灰度直方...

2020-04-05 15:58:29 302

原创 OpenCV笔记(二十二)直方图均衡化

文章目录一、理论1.图像直方图2.直方图均衡化二、相关API三、综合例程一、理论1.图像直方图Histogram图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。假设有图像数据8x8,像素值范围0~14共15个灰度等级,统计得到各个等级出现次数...

2020-04-05 15:56:46 151

原创 OpenCV笔记(二十一)像素重映射

文章目录一、理论二、相关API三、综合例程一、理论像素重映射就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去,形成一张新的图像。假设有映射函数:二、相关APIcv::remapRemap(InputArray src,// 输入图像OutputArray dst,// 输出图像InputArray map1,// x 映射表 CV_32FC1...

2020-04-05 15:56:11 177

原创 OpenCV笔记(二十)霍夫圆变换

文章目录一、理论1.检测原理2.变换原理二、相关API三、综合例程一、理论1.检测原理2.变换原理从平面坐标到极坐标转换三个参数C(x0,y0,r)C(x_0,y_0,r)C(x0​,y0​,r)其中x0,y0x_0,y_0x0​,y0​是圆心假设平面坐标的任意一个圆上的点,转换到极坐标中:C(x0,y0,r)C(x_0,y_0,r)C(x0​,y0​,r)处有最大值,霍夫...

2020-04-05 15:55:41 183

原创 OpenCV笔记(十九)霍夫变换-直线

文章目录一、理论1.检测原理2.变换原理二、相关API1.HoughLines2.HoughLinesP三、综合例程一、理论1.检测原理Hough Line Transfrom用来做直线检测前提条件 – 边缘检测已经完成平面空间到极坐标空间转换2.变换原理对于任意一条直线上的所有点来说变换到极坐标中,从[0~360]空间,可以得到r的大小属于同一条直线上点在极坐标...

2020-04-05 15:53:25 417

原创 C语言-选择结构

文章目录1.逻辑值2.关系运算符3.逻辑运算符4.优先级5.短路现象6.选择结构if语句7.if...else8.交换9.复合语句10.if语句嵌套11.匹配原则12.条件表达式13.C语言中表示区间范围1.逻辑值C语言中木有专用的逻辑值,1代表逻辑真,0代表逻辑假0代表逻辑假,!0代表逻辑真C语言中:任何非零的数都当做为真!!!! int a=4,b=-5,c=b+5; ...

2020-04-04 21:26:34 1223

原创 OpenCV笔记(十八)Canny边缘检测

文章目录一、Canny1.算法介绍2.非最大信号抑制3.**高低阈值输出二值图像**二、处理步骤三、相关API四、综合例程一、Canny1.算法介绍Canny是边缘检测算法,在1986年提出的。是一个很好的边缘检测器2.非最大信号抑制3.高低阈值输出二值图像T1, T2为阈值,凡是高于T2的都保留,凡是小于T1都丢弃,从高于T2的像素出发,凡是大于T1而且相互连接的,都保留。...

2020-04-04 18:55:38 246

原创 OpenCV笔记(十七)Laplance算子

文章目录一、理论二、处理流程三、相关API四、综合例程一、理论在二阶导数的时候,最大变化处的值为零即边缘是零值。通过二阶导数计算,依据此理论我们可以计算图像二阶导数,提取边缘。Laplance算子二、处理流程高斯模糊 – 去噪声GaussianBlur()转换为灰度图像cvtColor()拉普拉斯 – 二阶导数计算Laplacian()取绝对值convertScale...

2020-04-04 18:55:06 187

原创 OpenCV笔记(十六)Sobel算子

文章目录一、理论二、Sobel算子三、相关API1.cv::Sobel2.cv::Scharr3.其他API四、综合例程一、理论卷积应用-图像边缘提取边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用如何捕捉/提取边缘 – 对图像求它的一阶导数delta = f(x) – f(x-1), delta越大,说明像素在...

2020-04-04 18:54:28 236

原创 OpenCV笔记(十五)处理边缘

文章目录一、理论1.卷积边缘问题2.卷积边界问题二、处理边缘三、相关API四、综合例程一、理论1.卷积边缘问题2.卷积边界问题图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理。二、处理边缘在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在...

2020-04-04 16:28:44 339

原创 OpenCV笔记(十四)自定义线性滤波

文章目录一、理论1.卷积概念2.卷积如何操作二、常见算子三、自定义卷积模糊四、综合例程一、理论1.卷积概念卷积是图像处理中一个操作,是kernel在图像的每个像素上的操作。Kernel本质上一个固定大小的矩阵数组,其中心点称为锚点(anchor point)2.卷积如何操作把kernel放到像素数组之上,求锚点周围覆盖的像素乘积之和(包括锚点),用来替换锚点覆盖下像素点值...

2020-04-04 15:02:02 164

原创 PCF8591&AT24C02 IIC协议

文章目录一、电路图1. EEPROM2.AD/DA二、IIC协议介绍1.总线启动/停止2.总线应答三、PCF8591编程1.地址定义2.写时序3.读时序四、AT24C02编程1.地址定义2.写时序3.读时序一、电路图1. EEPROMAT24C022.AD/DAPCF8591二、IIC协议介绍1.总线启动/停止SCL为高电平时,SDA由高电平向低电平变化总线启...

2020-04-04 14:18:46 533

原创 51单片机按键消抖

文章目录一、独立键盘1.状态机消抖2.三行代码消抖二、矩阵键盘1.状态机消抖一、独立键盘1.状态机消抖define key_state_0 0//判断按键是否按下#define key_state_1 1//判断按键是否抖动#define key_state_2 2//判断按键是否弹起#define key_input P3#define key_mask 0x0fvoid key...

2020-04-04 14:16:42 2814

原创 OpenCV笔记(十三)基本阈值操作

文章目录一、理论二、阈值类型1.阈值二值化2.阈值反二值化3.截断4.阈值取零5.阈值反取零6.总结三、综合例程一、理论图像阈值(threshold)阈值是什么?简单点说是把图像分割的标尺二、阈值类型Binary segmentation1.阈值二值化threshold binary左下方的图表示图像像素点Src(x,y)值分布情况,蓝色水平线表示阈值2.阈值反二值...

2020-04-03 16:52:41 203

原创 OpenCV笔记(十二)图像金子塔-上采样与降采样

文章目录一、理论1.图像金字塔概念2.高斯金字塔3.高斯不同二、相关API三、综合例程一、理论1.图像金字塔概念我们在图像处理中常常会调整图像大小,最常见的就是放大(zoom in)和缩小(zoom out),尽管几何变换也可以实现图像放大和缩小,但是这里我们介绍图像金字塔一个图像金字塔式一系列的图像组成,最底下一张是图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下看就想一个古代的金...

2020-04-03 14:06:54 197

转载 OpenCV笔记(十一)形态学操作应用

文章目录一、原理方法1.原理2.结构元素3.提取步骤二、代码实现第一步:输入彩色图像第二步:转换为灰度图像第三步:转换为二值图像第四步:定义结构元素第五步:开操作(腐蚀+膨胀)-检测第六步:后处理三、综合例程一、原理方法1.原理图像形态学操作时候,可以通过自定义的结构元素实现结构元素对输入图像一些对象敏感、另外一些对象不敏感,这样就会让敏感的对象改变而不敏感的对象保留输出。通过使用两个最基...

2020-04-03 13:19:43 238

原创 OpenCV笔记(十)形态学操作

文章目录一、形态学操作1.开操作2.闭操作3.形态学梯度四.顶帽5.黑帽二、相关API三、综合例程一、形态学操作1.开操作open先腐蚀后膨胀可以去掉小的对象,假设对象是前景色,背景是后景色 2.闭操作close先膨胀后腐蚀(bin2)可以填充小的洞(fill hole),假设对象是前景色,背景是黑色3.形态学梯度Morphological ...

2020-04-03 11:59:21 161

原创 OpenCV笔记(三)Mat对象

文章目录一、Mat对象与IpIImage对象二、Mat对象构造函数与常用方法三、Mat对象使用四、Mat对象使用-四个要点五、Mat对象创建六、综合例程一、Mat对象与IpIImage对象Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分IplImage是从2001年OpenCV发布之后就一直存在,是C...

2020-04-03 11:05:08 161

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除