- 博客(97)
- 资源 (11)
- 收藏
- 关注
原创 OpenCV的绘图工具(rectangle、circle、line、polylines、putText)常用方法简介【C++的OpenCV 第十五课】
🎉🎉🎉欢迎各位来到小白piao的学习空间!🎉🎉🎉 C++\Python所有的入门技术皆在我的主页。本章节介绍OpenCV中基本绘图常用的所有方法及实例
2023-10-30 13:18:21 713
原创 单通道Mat元素的访问之data和step属性【C++的OpenCV 第十四课-OpenCV基础强化(三)】
本文通过实际案例详细解读了利用Mat对象的data属性和step属性访问Mat中任意位置元素的方法!可以用于后续开发,内容精炼直白易懂,快来看起来!绝对有帮助!
2023-10-29 18:26:09 2177
原创 访问单通道Mat中的值之at()、ptr()、iscontinuous()【C++的OpenCV 第十四课-OpenCV基础强化(二)】
本文及前文进入深化学习,进一步了解对与Mat的操作,想要学好OpenCV,对Mat就得深入理解才行!不要觉得内容简单!都是干货!
2023-10-28 17:40:26 1218
原创 Mat相关的一系列知识(基础->进阶)【C++的OpenCV 第十三课-OpenCV基础强化(一)】
前言🎉🎉🎉欢迎各位来到小白piao的学习空间!🎉🎉🎉💖💖💖持续更新,期待关注!💖💖💖💖目前已经为大家更新了:🎉Python基础、中级、高级;🎉C++数据结构和算法;🎉 Python数据结构和算法;🎉OpenCV相关内容等重点内容(以前只有C++,现在同时为大家更新Python的相关内容)💖💖💖💖。
2023-09-29 21:53:07 624 2
原创 找到图像的边界(轮廓)findContours()和drawContours()【C++的OpenCV 第十二课-OpenCV图像常用操作(九)】
本文主要针对cv.findContours()和cv.drawContours()展开学习和深入理解,对于图形学处理的知识进行查漏补缺,快速了解这两个方法的使用原理和功能
2023-03-10 14:42:10 3083 1
原创 直方图计算(cv.calc())【C++的OpenCV 第十一课-OpenCV图像常用操作(八)】
上一章内容中,为大家简单介绍了图像直方图,和直方图均衡化的目的和相关的案例源码,本章节我们将继续深化这部分内容,因为这部分内容也是一个比较有意思的内容。本章内容主要围绕cv.calcHist()的使用方法展开,为大家详细介绍它的用法,注重实际使用!请认真看看哈。
2023-03-08 16:26:53 1401
原创 直方图和直方图同等化(直方图均衡化)【C++的OpenCV 第十课-OpenCV图像常用操作(七)】
一种利用图像直方图对图像的对比度调节的方法。以此来扩展强度的范围。
2023-03-08 12:05:26 788
原创 图像形态学-阈值的概念、功能及操作(threshold()函数))【C++的OpenCV 第九课-OpenCV图像常用操作(六)】
顾名思义,“阈”就是范围或者限制,所以,“阈值”就是某个限制的值(该值具有一定的数学含义,即“临界值”,例如车辆限高杆的高度就是一种阈值,不可超越;亦或者1.1米以下儿童不收费,超过1.1就要收费。)
2023-03-03 11:59:01 4360
原创 图像形态学-图像金字塔(Gaussian pyramid、Laplacian pyramid)和向上(下)采样的使用和原理【C++的OpenCV 第八课-OpenCV图像常用操作(五)】
图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的图像金字塔是一系列以金字塔形状(自下而上)逐步降低,且来源于同一张原始图的图像分辨率集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。图像金字塔在图像学、图像处理领域得到了非常广泛的应用,例如:图像缩放、图像重构、图像融合(多分辨率塔式图像融合算法是现在较为常用的图像融合方法)、图像增强技术等。
2023-03-01 16:53:14 1167
原创 图像形态学-图像侵蚀和扩散的原理【C++的OpenCV 第七课-OpenCV图像常用操作(四)】
本章节将围绕上章节内容进行深化学习,主要目的是基本理解图像形态学中关于侵蚀和扩张的基本原理,目得是方便读者理解后期更为复杂的图像处理中的图像形态学原理(例如:图像降噪、图像的边界检测等)。
2023-02-26 21:18:02 814
原创 OpenCV的图像的侵蚀和扩张【C++的OpenCV 第六课-OpenCV图像常用操作(三)】
通过一个特定的结构元素腐蚀一个图像。图像腐蚀的过程类似于一个卷积的过程,源图像矩阵A以及结构元素B,B在A矩阵上依次移动,每个位置上B所覆盖元素的最小值替换B的中心位置值(即锚点处),完成整个侵蚀的过程。
2023-02-24 10:15:52 925
原创 OpenCV的基本绘图、平滑滤波(模糊)处理【C++的OpenCV 第五课-OpenCV图像常用操作(二)】
sigma值:为了简单起见,可以将2西格玛值设置为相同。如果它们很小(150),它们将有非常强的效果,使图像看起来“卡通”。过滤器大小:大型过滤器(d>5)非常慢,因此建议对实时应用程序使用d=5,对需要重噪声过滤的脱机应用程序使用d=9。双边滤波器可以很好地减少不需要的噪声,同时保持边缘相当清晰。然而,与大多数过滤器相比,它非常慢。至于模糊的目的,一般情况下最多的情况用于。也是比较广泛的,当然其他用途还是得看具体的业务。是一种简单的图像处理的操作。
2023-02-23 21:01:51 1315
原创 Mat对象深化学习、灰度、ROI【C++的OpenCV 第四课-OpenCV图像常用操作(一)】
我们有多种方式从现实世界中获取数字图像:数码相机,扫描仪,计算机断层扫描和磁共振成像等等。在任何情况下,我们(人类)看到的都是图像。然而,当将其转换为数字设备时,我们记录的是图像中每个点的数值。例如在上述图像中,您可以看到汽车的镜像只不过是一个包含像素点所有强度值的矩阵。我们如何获取和存储像素值可能会根据我们的需要而有所不同,但最终,这是一个技术经验的浅尝,所以不是某个具体的函数,而是对前边某部分大家接触过的内容的加深和复习,帮助大家更深地进入视觉处理这个领域的学习。后续,我们继续学习。
2023-02-22 12:12:38 1146
原创 CMake创建OpenCV项目【C++的OpenCV 第二课】
Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
2023-02-21 10:02:15 1218
原创 opencv的介绍和安装(Linux环境下)【C++的OpenCV第一课】
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
2023-02-18 18:23:09 1878
原创 Python实现基于openCV+百度智能云平台实现《1:N人脸考勤机》文章最后附带源码!
基于windows平台下,使用PyCharmIDE完成开发工作,将提前准备好的照片上传百度云,借助百度aipSDK-Python实现和百度智能云的对接,实现摄像头采集人脸图片后上传百度云,在百度云中利用百度现有的人脸识别算法完成人脸的对比,之后借助SDK返回对比结果,将结果显示在客户端上。如果有不明白的地方,评论区留言,作者一一回复。
2023-02-14 17:59:59 1447 5
原创 老陈说事儿:如何才能不当IT的舔狗?理性认识行业、做正确的事儿。
先做个自我介绍,我是一名曾经的IT程序员,目前在一家培训机构任职,是一名讲师,我仅代表个人意见来给大家分享分享我所经历的一切,通过分享,相信各位能够正确的认识IT行业!内容为真实可信内容,请勿转载!大家看看就好,希望各位转行的朋友仔细认真的看完,会对你有很大的帮助。先来聊聊经历,2014年我毕业于国内一所知名大学,怀揣着满心期望步入社会的怀抱在学校期间的我几乎年年奖学金,各项成绩都算说的过去,这让我自信满满,有点傲气,也很自负,觉得要为社会尽自己的一份力,于是入职了一家国企,成为了一名程序员,那时候,天
2021-12-06 12:00:48 363 2
原创 C++数据结构--单向循环链表的实现
3.3.2 单向循环链表也分为带头节点和不带头节点这里用带头节点的写就是普通单向链表将尾结点的next指针指向头节点即可关键是当循环链表为空时,头节点的next指向自己本身.h文件://// Created by iotek_chen on 2021/1/19.//#include <iostream>#include <string>using namespace std;#ifndef LOOPBASICLINKLIST_LOOPBASLLIST_H
2021-01-19 21:06:22 281
原创 C++数据结构--顺序循环队列的实现
2.10.2 顺序循环队列 顺序队列中当元素删除时,删除的元素处被置为0,但是空间实际上还在,当元素存放满时,由于删除只是置0,所以导致队首下标front后移,所以导致了之前被删除的元素造成空间浪费,存满后形成假溢出无法插入元素(实际上前边被“删除”的元素空间还在,只是值为0),所以为了节省空间,使用顺序循环队列,保证可以在插入元素放满之后(假溢出)还可以利用有效空间插入元素。随着删除和插入的动作较多时,新元素会顶替老元素的位置继续存储从而实现循环存储。代码:seqloopqueque.h#
2021-01-10 14:54:08 293
原创 C++数据结构--顺序队列的实现
2.10.1 顺序队列 特殊的线性表,有一个队头和队尾,队头只能删除元素,队尾只能添加元素,先进队列的元素先出(先进先出)。有两个指针分别指向队头和队尾。代码:squeue.h#ifndef SQUEUE_H#define SQUEUE_H#define SQUEUESIZE 40#include <memory.h>#include <iostream>using namespace std;class Squeue{public: Squ
2021-01-10 11:04:14 281
原创 C++数据结构--顺序栈的实现
2.9 数据结构–栈 是一种只可以从一端插入和删除元素的线性表,允许进行插入和删除的一端称之为栈顶,栈顶是动态变化的,和线性表一样,他也有两种存储方式:顺序存储和链式存储。2.9.1 顺序栈seqstack.h#ifndef SEQSTACK_H#define SEQSTACK_H#define STACKSIZE 100#include <iostream>#include <memory.h>using namespace std;class Seq
2021-01-09 22:25:16 226
原创 C++排序算法实现及原理精析:冒泡、选择、插入、快速、归并排序
文章目录2.2 冒泡排序2.3 选择排序2.6 插入排序2.7 快速排序2.8 归并排序2.2 冒泡排序排序逻辑:从左向右扫描数据,选择最大的数据,放在右边。要点:从左边开始,比较相邻的两个数字,如果左边的数字大于右边的,就进行交换。,第一趟拍完,会将最大的数字排放在最后的位置,第二趟排完会将第二大的数字排放在倒数第二个,以此类推直到排序结束。后续过程依次类推即可。排序实现:#include <iostream>#include <algorithm>#i
2021-01-06 16:57:47 553 1
原创 C++大法:瞎搞一个阉割版本的List实现,凑合能看,单向链表实现(小白piao分享)
这内容不适合初学者这玩意就是瞎搞搞出来的,大家凑合看,没有做什么优化,比起专业的这个很菜,但是,对于稍微有点开发经验的同学来说大有裨益。这玩意直接怼代码了里边有些注释,需要提前了解数据结构中的单向链表,后续出双向和循环的实现。首先是个头文件mylist.h#ifndef MYLIST_H#define MYLIST_H#include <string>#include <iostream>using namespace std;class MyList{p
2020-12-30 20:22:16 197 2
原创 C++大法:举世闻名之BOOST大法精华浅析(十)asio的网络编程基础(小白piao分享)
文章目录asio8.4.1 网络通信技术8.4.2 ip地址和端点8.4.3 同步socket处理asio 基于操作系统移植性好的异步机制框架,该框架弹性强,目前主要用于网络通信方面,提供了很多现代C++的网络编程接口,支持TCP\ICMP\UDP等协议,asio并不局限于网络编程,它还支持串口读写、定时器、SSL等。 其使用时并不需要编译,但是依赖一些基本库诸如:boost.system和boost.datetime库,用来提供系统错误和时间的支持。其他可选库有:regex、thread和s
2020-12-23 13:07:14 920
原创 C++大法:举世闻名之BOOST大法精华浅析(九)并发编程进阶(小白piao分享)
书接上回。文章目录8.3.3 线程中断8.3.4 线程组8.3.5 条件变量8.3.6 future8.3.3 线程中断 thread成员函数interrupt()允许正在执行的线程被中断,被中断的线程会抛出一个thread_interrupted异常,它是一个空类,其应该在线程处理函数中捕获并且处理。如果不处理这个异常,视为线程终止。实例:#include <iostream>#include <boost/thread.hpp>#include <bo
2020-12-21 19:51:57 405
原创 C++大法:举世闻名之BOOST大法精华浅析(八)并发编程初识(小白piao分享)
八、并发编程 thread库为C++增加了线程处理的能力,提供了简明清晰、移植性好的线程、互斥量等概念。可以很容易的创建多线程应用。8.1 编译thread库 thread库需要datetime库的支持,datetime库也是需要编译的,顾先讨论二者的编译和配置。本文之前采用的是完全编译,所以不需要单独编译了,只是告诉大家如何单独编译。date_time库的编译:需要运行的bjam命令如下: .\bjam.exe --toolset=gcc --prefix=D:\boost --w
2020-12-18 18:11:29 344 3
原创 C++大法:举世闻名之BOOST大法精华浅析(七)rational和crc简述(小白piao分享)
七、常见数据类型7.1 rational 有理数(分数) boost.rational实现了有理数,补充了c++的概念。它基于内建整型,运算时没有精度丢失。 rational使用boost命名空间,为了使用rational的组件则需要包含<boost/rational.hpp>。创建与赋值#include <iostream>#include <boost/rational.hpp>//using namespace std;using
2020-12-16 14:34:20 405 1
原创 C++大法:举世闻名之BOOST大法精华浅析(六)容器与数据结构
文章目录六、容器与数据结构6.1 array6.2 dynamic_bitset6.3 unordered6.3.1 散列集合6.3.2 散列映射6.4 tuple六、容器与数据结构6.1 array 封装了C++标准库中的数组,为其提供了标准的STL容器接口,在对性能要求很高且不要求动态扩容的情况下使用。 其中并不能作为参数传入C语言当中的有些常见的接口(例如some_func(void* n,int len)) 本库已经收录如c++新标准的TR1库中简单例子:#includ
2020-12-16 14:33:08 386
原创 C++大法:举世闻名之BOOST大法精华浅析(五)字符串与文本处理(小白piao分享)
文章目录五、字符串与文本处理5.1 lexical_cast5.2 format5.3 string_algo5.4 xpressive五、字符串与文本处理字符串的表示:lexical_cast和format函数,将数值转化为字符串。对输出做出精确格式化。string_algo库中有很多字符串处理函数tokenizer:分词器xpressive:灵活且功能强大的正则表达式解析器,同时也是一个语法分析器5.1 lexical_cast “字面量转换”,类似于c库中的atoi函数。可以进行字
2020-12-16 14:31:32 341
原创 C++大法:举世闻名之BOOST大法精华浅析(四)noncopyable和assign(小白piao分享)
文章目录四、实用工具4.1 noncopyable4.1.1 原理:4.2 assign四、实用工具4.1 noncopyable4.1.1 原理: c++中定义一个类时,如果不明确定义拷贝构造函数和赋值运算符,编译器会为我们添加两个默认的函数来满足这些需求。这是明智的,可以让类自动支持swap函数、符合容器的拷贝语义、可以放入标准容器中处理,但有的时候我们不需要类的复制语义,希望禁止复制类的实例。**其实这个过程手写代码也很好实现,只需要将拷贝构造函数和赋值运算符重载函数放在私有成员中即可。*
2020-12-16 14:28:50 287
原创 C++大法:举世闻名之BOOST大法精华浅析(三)内存管理库(小白piao分享)
三、内存管理库3.1 smart_ptr3.1.1 RAII机制 为了管理内存资源,c++程序员经常采用RAII机制(资源获取即初始化),在使用资源的构造函数内申请资源,然后使用,最后在析构时释放资源。 在栈空间上申请的空间会在生命周期结束后自动调用析构,但是如果是new的对象则不会自动调用析构函数,只能在使用delete后才会释放空间,这里就存在内存泄漏的风险,如果意外导致delete语句未执行,将会产生不小的麻烦,这个内存将永久丢失了。3.1.2 智能指针 智能指针会在退出作用域时候,
2020-12-16 14:25:58 988
原创 C++大法:举世闻名之BOOST大法精华浅析(二)timer(小白piao分享)
二、boost下的timer2.1 timer库的用途: 性能测试时候的计时任务。精确到毫秒级别,就是一个方便的秒表。 timer库的三个组件:timerprograss_timerprograss_display : 进度指示类2.2 timer简单例子:#include <iostream>#include <boost/timer.hpp>using namespace std;using namespace boost;//注意包含boost标
2020-12-16 14:22:53 517
原创 C++大法:举世闻名之BOOST大法精华浅析(一)boost1.7x库配置和安装(小白piao分享)
boost库一、boost库下载、安装、编译1.1 boost库下载boost官网:https://www.boost.org/ 1、纯英文,点击: 2、点击(最新版下载): 3、进入后,根据情况选择: 4、到此处,点击对应下载后,就可以等待下载完成了。 5、如果是其他版本(我的是1.72),如下操作: 自此,完成下载。1.2 boost库的安装和编译:1、解压缩:2、进入目录:3、进入打开powershell:4、输入指令,生成b
2020-12-16 14:07:40 698
原创 python实战之Django--建立数据模型,连接数据库,配置Django管理页面(小白piao分享)
书接上回,大家应该都学会了如何初始化自己的框架了,教会你们如何用pycharm创建项目,创建应用,向django注册应用等等最基本的知识,如果掌握了,请接着往下看!建立数据模型+pycharm连接数据库+为应用配置django管理1、建立应用的数据模型:1.1 blog应用中的models.py2、连接数据库2.1 安装mysql2.2 mysql的使用2.3 安装mysql-connector和pymysql:2.4 连接数据库2.4.1 创建连接3、万事
2020-06-07 12:08:45 530
原创 python实战之Django--组合pycharm快速构建项目框架(小白piao分享)
地摊经济下的苟且DjangoDjango名称的由来Django的优势Django与Pycharm开始一、 项目的创建1.项目的名称2.项目的创建二、应用2.1 应用的概念2.2 应用的创建三、 项目文件解释3.1 web_blog:3.2 blog:3.3 db.sqlite3:Django名称的由来 这玩意名字最早来自于2003年第85界奥斯卡金像奖影片名称叫做《Django Unchained》,其实只是凑巧,2003年由Simon Willison和A
2020-06-06 21:07:20 738
原创 python进阶之数据结构与算法--中级-二叉搜索树
二叉搜索树一、概念:二、遍历二叉搜索树2.1 什么遍历方式?2.2 遍历的原理:2.3 提供的方法:2.4 伪代码:2.4.1 节点的后继节点after(p)的伪代码:2.4.2 节点的前驱节点before(p)的伪代码:三、搜索四、插入和删除一、概念: 在之前的章节中已经为各位介绍过树的概念,实际上树就是一种很常见的ADT,存储方式也是非线性且更加贴近自然的,而树最重要的功能就是用作搜索树。在本节中我们利用搜索树来有效实现有序映射。映射M有三种最基本的方法
2020-06-02 23:59:15 576
原创 python进阶之数据结构与算法--中级-哈希map的实现及原理
Hash_map的实现1-collections.MutableMapping1.1 概念:这是什么?2-我们的map基类2.1 实现这个类3-通过map基类实现的无序映射4-Python哈希表的实现的基类4.1 咱有话直说:上才(代)艺(码)5-分离链表实现的具体哈希map类6-用线性探测处理冲突的哈希map类1-collections.MutableMapping1.1 概念:这是什么? 大家可能想知道这一串英文是什么意思?其实只需要了解在colle
2020-05-31 02:48:53 874
原创 python进阶之数据结构与算法--中级-哈希表
哈希表的实现1、 哈希表的概念2、哈希函数2.1、哈希码2.1.1 将位作为整数处理2.1.2 多项式哈希码2.1.3 循环位移哈希码2.1.4 python中的哈希码2.2、压缩函数3、冲突解决方案3.1、分离链表3.2、开放寻址3.3、线性探测及其变种1、 哈希表的概念 一种python用来实现map和dict的数据结构,称其为哈希表;众所周知一个映射M使用键k作为索引M[k]。由此哈希表有了更进一步的定义,通过哈希函数将每一个一般的键映射到一个表中的
2020-05-29 20:25:10 304
原创 python进阶之数据结构与算法--入门-树的遍历算法的python实现
树的遍历的代码实现前言一、树的遍历1.1 先序遍历1.2 后续遍历1.3广度优先遍历1.4二叉树的中序遍历前言 书接上回,上边我们用伪代码的形式解释了树常见的通用遍历方式:前序、后续、广度优先,和二叉树专用的中序遍历。接下来,会按照上一节内容,为各位逐个展示各类遍历方法的核心代码,这些代码,可以添加在之前几节中写好的Tree类中(之前定义的一个树ADT)。一、树的遍历 树T其中,应该包含两个方法: 
2020-05-27 21:42:48 237
实战才是学习python的王道!通过代码去学习的效率远高于各种书籍,前提条件应该具备一些基本知识,本教程适合小白+进阶!
2023-03-16
专业简历模板,针对物联网人工智能方向基础模板
2023-03-09
最完整的大学嵌入式方向、物联网方向项目,附带源码即项目说明和相关书籍资料,有需求自取!
2023-03-09
最完整的java方向毕业设计项目,内附完整代码,学习毕设绝对有用的东西!完成毕设只在朝夕之间 修改即用 竞赛获奖项目,毕业设计首
2023-03-09
毕业设计项目大全,九大项目包含其中,附带源码,项目说明,软件环境,数据库模型等
2023-03-09
基于SSM大学生心理健康咨询管理系统的分析与设计毕业论文+开题报告+项目源码及数据库+答辩PPT+运行说明
2023-03-09
物联网10k薪资以上简历模板
2023-03-09
由专业团队定制的IT技术HR最喜欢看的简历模板,助力提升IT岗位面试成功率,适合小白新手(工作1~3年)的使用
2023-03-08
《人脸考勤机项目》源码,请配合博客使用!
2023-02-14
python权威资源+数据分析+数据挖掘+核心编程+项目开发实战+django框架.zip
2021-11-30
c++权威学习资料汇总.zip
2021-11-30
程序员最需要的精品学习笔记.zip
2021-11-30
C++ Primer习题答案及详解(1).txt
2020-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人