- 博客(88)
- 收藏
- 关注
原创 opencv的haarcascade_frontalface_default.xml等文件
当然不换环境的前提下上面的路径就可以固定使用了,但是如果换个电脑或者换个环境,python解释器的路径就不对了,所有为了避免这些麻烦,我稍微修改了一下路径,把它变成只要你能导入cv2就能使用相应的文件,不用管解释器的路径,来看看成果吧。用它就可以替代上面的又臭又长的路径了(什么?没关系,起码它万金油,只需要改改后面的名字就能直接用,少烦恼)以pycharm为例,下载 opencv-python时会下载我们要的东西,在cv2里面。应该换成你的python解释器的路径。下面的文件,只要改一下相应的名字都能用。
2023-08-27 21:02:45
7090
68
原创 python 基础篇 day 4 选择结构—— if 结构
它常用于循环结构中,例如 for 循环,以便按照指定的起始值、终止值和步长来迭代生成整数。虽然这种方式可以实现类似于四目运算符的功能,但嵌套的三目运算符容易造成代码难以理解和调试。因此,在实际编程中,推荐使用更清晰和易于理解的方式来表达条件判断逻辑,如使用。需要注意的是,range() 函数生成的序列不包含终止值。在上面的例子中,我们使用嵌套的三目运算符来实现一个四目运算符的效果。在上面的例子中,如果 x 大于 0,那么 “正数” 将被赋值给 result;start:可选,表示序列的起始值,默认为 0。
2023-08-24 17:49:48
1753
42
原创 python 基础篇 day 3 运算符大全
什么是运算符算术运算符种类举例注意运算顺序:整数除法和浮点数除法取模运算幂运算字符串拼接注意整数与浮点数之间的运算注意溢出问题赋值运算符种类举例注意事项赋值顺序多重赋值增量赋值运算符赋值运算符链式操作注意可变对象的赋值注意不可变对象的赋值赋值运算符的优先级补充比较运算符种类举例注意比较运算符返回的结果是布尔类型(true 或 false)。在比较浮点数时的精度问题在比较字符时,比较的是字符的 ASCII 值。字符串之间不能直接使用比较运算符进行比
2023-08-23 15:42:05
604
14
原创 python 基础篇 day 2 基本输入输出转换
如果 x 是整数类型,则将其转换为浮点数;如果 x 是字符串类型,并且表示一个数值,则将其转换为浮点数;将 x 转换为整数类型。如果 x 是浮点数,则将其截断为整数;如果 x 是字符串类型,并且表示一个整数值,则将其转换为整数;例如,数字类型中的零、空字符串、空列表等都会被转换为 False,其他值都会被转换为 True。将 x 转换为布尔类型。可以将各种类型的值转换为布尔值:大部分值为 True,只有少数特定的情况下会转换为。*objects是一个可变参数,表示要输出的对象,多个对象之间可以用逗号分隔。
2023-08-22 23:37:36
618
11
原创 python 基础篇 day 1 初识变量和数据类型
文章目录变量变量作用——用于存储和表示数据。变量命名规则命名法大驼峰小驼峰下划体n j i a x 通常作为临时变量使用建议变量种类全局变量(Global Variables)局部变量(Local Variables)静态变量(Static Variables)实例变量(Instance Variables)类变量(Class Variables)参数变量(Parameter Variables)变量使用数据类型数值类型(Numeric Types)字符串类型(St
2023-08-21 21:30:47
1076
15
原创 Opencv 视频的读取与写入
前言通过路径获取视频内容获取视频内容检查是否正确打开循环播放完整代码从摄像头读取视频数据获取视频设备其他与直接读取视频一致完整实例录制视频用于创建视频编解码器的四字符码(FourCC)cv2.VideoWriter()将视频帧逐帧写入视频文件完整示例
2023-08-20 21:12:54
1020
23
原创 Opencv 图像的读取与写入
0表示任何按键, 其他整数表示等待按键的时间,单位是毫秒, 超过时间没有发生按键操作窗口会自动关闭.# 等待键盘输入,waitKey方法表示等待按键, 会返回按键的ascii的值。# ord获得字符的ascii的值,可以据此判断输入的字符,然后进行进一步操作。# 将窗口大小调整为指定的宽度和高度(这里是1920x1080)cv2.imwrite("路径名称",要保存的图像(# 创建一个名为new的显示窗口,并显示图像数据。# 创建一个具有可调整大小的新窗口。# 创建一个自动调整大小的新窗口。
2023-08-19 22:31:23
1288
7
原创 Day 31 C++ STL常用算法(下)
常用拷贝和替换算法copy——容器内指定范围的元素拷贝到另一容器中函数原型注意——利用copy算法在拷贝时,目标容器要提前开辟空间示例replace——将容器内指定范围的第一个旧元素修改为新元素函数原型注意——replace只会替换区间内满足条件的第一个旧元素示例replace_if——在指定范围内将所有旧元素修改为新元素函数原型注意——replace会替换区间内满足条件的所有旧元素swap——互换两个容器的元素函数原型注意——swap交换容器时,注意交换的容器要同种类型类型要
2023-08-17 11:21:01
1577
9
原创 玩转VS code 之 C/C++ 环境配置篇
然后在里面建4个一样名字的json文件,把我的代码放进去,然后,修改几处标出的地方就可以了。我设置了三个输出方式,俩个是终端内输出,一个是弹出窗输出,推荐弹出框(基本没问题)小白进阶版,要改的一样,但是多了很多东西,只有俩个大改,还有俩个一样的,从上面拿呗。使用终端输出的时候,输出别有弹窗,不然,弹窗里的字是乱码的,但是终端立的正常。后面还有进阶版,要改的一样,但是多了很多参数和注释,有兴趣滴大佬可以看一下。(如果这都不行的话,那我也没办法,菜鸟水平就到这里了,别的我也不会昂)
2023-08-16 22:04:13
665
2
原创 玩转 VS code 之下载篇
Visual Studio Code (简称 VS Code /),是2015 年由微软公司推出的一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、GIT 等特性,支持插件扩展等等可用于 Windows,和 Linux。它具有对 JavaScript,TypeScript 和 Node.js 的内置支持,并具有丰富的其他语言(例如 C++,C#,Java,Python,PHP,Go)比 sublime 开源,比 webstorm 更轻量。
2023-08-15 22:55:15
570
6
原创 Day 30 C++ STL 常用算法(上)
算法主要是由头文件组成。头文件是STL中最大的头文件之一,它提供了一系列的算法操作,包括比较、交换、查找、遍历、复制、修改等等。排序算法:sort()、stable_sort()、partial_sort()等。查找算法:find()、find_if()、binary_search()等。数值算法:accumulate()、inner_product()、adjacent_difference()等。复制和移动算法:copy()、move()、copy_if()等。
2023-08-14 21:21:28
296
12
原创 Day 29 C++ STL- 函数对象(Function Object)(仿函数)
我们使用函数对象实例 multiplyByTwo 进行函数调用,以及将函数对象 MultiplyBy(3) 作为参数传递给 std::transform() 算法,对容器 nums 中的元素进行乘法操作。通过使用函数对象 MyCompare(),我们重新对向量 v 进行排序,这次的输出结果为 50 40 30 20 10,与上一次排序的结果相反,符合我们设定的从大到小排序策略。首先,在 test01() 函数中,我们创建一个整型向量 v,并添加一些数字元素。函数对象(仿函数)是一个 重载了。
2023-08-13 10:34:50
315
11
原创 Day 28 C++ (映射)map 容器 / multimap 容器 (多重映射)
C++中的map是一种关联容器,它提供了一种键-值(key-value)对的存储方式。map容器中的元素是按照键的顺序进行排序的,并且每个键都唯一。通过使用键来访问其相应的值,我们可以在O(log n)的时间复杂度内进行快速的查找、插入和删除操作。map与set类似,但不同之处在于map存储的是键值对(key-value pair),而set只存储单个元素。每个键值对在map中被视为一个元素,由键(key)和值(value)组成。键用于唯一标识元素,值则是与键相关联的数据。
2023-08-12 17:13:54
411
13
原创 Day 26 C++ list容器(链表)
链表(list)是一种物理存储单元上非连续的存储结构,可以将数据进行链式存储,数据元素的逻辑顺序是通过链表中的指针链接实现的。STL中的链表是一个双向循环链表。
2023-08-10 17:48:45
514
5
原创 Day 25 C++ queue 容器(队列)
在C++中,队列(queue)是一种常见的数据结构,采用先进先出(First-In-First-Out,FIFO)的原则,它有两个出口。队列的特点是只允许在一端进行插入操作(队尾),在另一端进行删除操作(队头)。在队列中,只有最早添加的元素可以被访问和操作,而后续添加的元素需要等到前面的元素被处理完毕后才能被访问。queue采用模板类实现,queue对象的默认构造形式拷贝构造函数入队 — push出队 — pop返回队头元素 — front返回队尾元素 — back。
2023-08-09 10:39:16
279
2
原创 Day 25 C++ stack容器(栈)
在C++中,栈(stack)是一种常见的数据结构,采用后进先出(Last-In-First-Out,LIFO)的原则。栈的特点是它只有一个出口,只允许在一端进行插入和删除操作,这一端被称为栈顶。在栈中,只有位于栈顶的元素可以被访问和操作,而其他元素则无法直接访问。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为入栈 — push出栈 — pop返回栈顶 — top判断栈是否为空 — empty返回栈大小 — size。
2023-08-09 10:21:48
249
原创 C++ for循环,你真的学懂了吗
概念组成部分初始化表达式(Initialization Expression)循环条件(Condition)增量/减量表达式(Increment/Decrement Expression)循环体(Loop Body)执行过程种类基本 for 循环for 循环遍历数组嵌套 for 循环无限循环范围基于范围的 for 循环语法示例C++11 引入的使用范围迭代器的 for 循环语法示例C++11 引入的带有初始化列表的 for 循环语法示例C++17 引入的结构化绑定
2023-08-08 11:29:47
3209
7
原创 Day 24 C++ deque容器
双端数组,它是C++标准库中的容器之一,用于存储和管理数据可以对头端进行插入删除操作“deque” 是英文 “double-ended queue” 的缩写,它是一种允许在两端进行高效插入和删除操作的数据结构。因此,在中文中常常将其称为 “双端队列” 或者 “双向队列”。deque 提供了类似于 vector 的动态数组功能,但同时也允许在两端高效地插入和删除元素插入和删除提供的位置是迭代器插入多个数据无返回值删除返回下一个数据位置插入,则原来位置的数据往后挪。
2023-08-08 10:59:51
198
原创 Day 23 C++ vector容器
C++的vector容器是一个动态数组,提供了存储和操作元素的功能。它是标准模板库(STL)的一部分,在头文件中定义。vector数据结构和数组非常相似,也称为单端数组动态数组)(也被称为向量。
2023-08-08 10:15:52
415
2
原创 Day 22 C++ STL常用容器——string容器
封装了一些成员方法:std::string类提供了许多有用的成员方法来操作字符串,包括查找(find())、拷贝(copy())、删除(erase())、替换(replace())、插入(insert())等。string类封装了一系列成员函数来操作字符串,这些成员函数包括字符串的创建、复制、拼接、查找、替换等等。综上所述,string是C++风格的字符串,本质上是一个类,在C++中广泛用于处理和操作字符串数据,提供了便利、安全和高级的字符串处理功能。//从pos位置查找s的前n个字符第一次位置。
2023-08-07 11:20:41
193
原创 Day 21 C ++ STL(Standard Template Library,标准模板库)
STL六大组件,容器,算法,迭代器,数据结构
2023-08-06 11:14:25
369
2
原创 Day 12 C++ 面向对象
面向对象面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序的设计和实现以对象的思维方式进行组织。面向对象编程的核心概念包括以下几个方面:类(Class):类是面向对象编程的基本单位,它定义了一种具有相同属性和行为的对象的模板。类中包含了成员变量(属性)和成员函数(方法),用于描述对象的状态和行为。对象(Object):对象是类的实例化,是具体的实体。通过创建对象,我们可以使用类中定义的属性和方法进行操作。
2023-08-04 13:41:29
178
原创 浅析 C++ 的输入输出
输入输出什么是输入输出输出(output)输入(input)输入输出流的头文件`iostream`输出流类的抽象基类`ostream`输入流类的抽象基类`istream``ifstream` 类`ofstream` 类`fstream` 类
2023-08-04 13:08:23
923
原创 Day17 C++ 继承
public继承表示基类的公有成员在派生类中仍为公有成员。protected继承表示基类的公有和保护成员在派生类中变为保护成员。private继承表示基类的公有和保护成员在派生类中变为私有成员。任何派生类都无法访问父类的私有属性继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反子类对象可以直接访问到子类中同名成员子类对象加作用域可以访问到父类同名成员当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数。
2023-08-03 10:37:21
279
原创 lambda表达式以及关键字auto
Lambda 表达式是一种匿名函数,可以在需要函数对象的地方使用,简化了函数对象的定义和使用过程。Lambda 表达式可以用于替代显式地创建函数对象或传递函数指针的情况。尤其适用于一些只在特定上下文中使用的函数功能。lambda表达式与普通函数类似,也有参数列表、返回值类型和函数体,只是它的定义方式更简洁,并且可以在函数内部定义。
2023-08-02 09:58:23
553
原创 Day 16 C++ 运算符重载
我们可以使用运算符来调用 MyClass 对象的成员函数operator+。例如,a+ b实际上相当于调用了 a,其中 a是左操作数,b 是右操作数。无论是成员函数重载还是非成员函数重载,都可以实现相同的功能。选择使用哪种方式主要取决于代码的结构和设计需求。重载加号运算符的结果是使得MyClass对象可以直接使用加号进行相加操作,从而提高代码的可读性和可维护性。
2023-08-02 09:51:19
300
原创 Day 15 C++对象模型和this指针
非静态成员变量占对象空间静态成员变量不占对象空间只有非静态成员变量才属于类的对象上函数(包括静态成员函数)也不占对象空间,所有函数共享一个函数实例。
2023-07-31 10:11:30
190
原创 简述vue3(ts)+antdesignvue项目框架搭建基本步骤
Vue 3(使用TypeScript)和Ant Design Vue项目框架搭建是指在Vue 3框架下,结合使用TypeScript编程语言和Ant Design Vue UI库,创建一个基本的项目结构和配置。Vue 3:Vue.js是一个流行的JavaScript框架,用于构建用户界面。Vue 3是Vue.js的最新版本,引入了一些改进和新功能,提供更好的性能和开发体验。TypeScript:TypeScript是JavaScript的一个超集,添加了静态类型检查和更多的面向对象编程特性。
2023-07-30 22:06:48
5536
原创 Day 14 C++ 对象的初始化和清理
没有参数的构造函数被称为默认构造函数。当对象被创建时,如果没有提供任何参数,就会调用默认构造函数。默认构造函数可以用来初始化对象的数据成员为默认值。如果我们没有定义构造函数,编译器会提供一个空实现的默认构造函数。编译器生成的默认构造函数和析构函数默认构造函数(Default Constructor)如果没有显式定义构造函数,编译器会自动生成一个空参数的默认构造函数。
2023-07-30 10:52:20
631
原创 封装(Encapsulation)
在这个例子中,Person类封装了私有的name和age数据成员,并提供了公共的访问器和修改器来操作这些数据成员。外部代码可以通过调用访问器和修改器函数来访问和修改对象的状态,而无法直接访问或修改私有数据成员。不同的对象之间相互独立,各自负责自己的功能,减少了代码之间的耦合性,方便代码的维护和扩展。通过封装,可以将常用的功能和操作封装成类的成员函数,实现代码的复用。封装可以隐藏对象的内部实现细节,只暴露必要的接口,使得对象对外部的调用者来说更加简单和可理解。这有助于提高代码的安全性和可靠性。
2023-07-29 10:45:30
679
原创 什么是面向对象
继承是指一个类可以派生出其他类,派生类(子类)可以继承父类的属性和方法,并可以在此基础上添加新的属性和方法。对象具有自己的状态(由类的成员变量决定)和行为(由类的成员函数决定)。:类是面向对象编程的基本单位,它定义了一种具有相同属性和行为的对象的模板。类中包含了成员变量(属性)和成员函数(方法),用于描述对象的状态和行为。:封装是将数据和相关操作封装在一个对象中的过程,隐藏了实现的细节。在多态中,可以通过基类的指针或引用调用派生类的方法,实现动态绑定和灵活的对象处理方式。
2023-07-29 10:19:55
168
原创 Day 11 C++ 函数进阶
函数占位参数(placeholder parameter)是指在函数声明或定义中使用的没有具体类型和名称的参数。它们通常用于定义泛型函数,以允许在函数调用时指定具体的参数类型。语法返回值类型 函数名 (数据类型){}函数重载(function overloading)是指在同一个作用域内,定义多个具有相同名称但参数列表不同的函数。通过使用函数重载,我们可以使用相同的函数名来执行不同的操作,根据传递给函数的参数的类型和数量进行区分。
2023-07-28 10:29:27
220
vs code 配置C++环境变量方法(进阶版).zip (大佬们赏点积分吧)
2023-08-17
vs code 配置C++环境变量方法(小白版)(大佬赏点积分吧)
2023-08-17
OpenCV-Python 3.3图像处理教程.zip
2023-08-07
C语言程序设计大赛资料 - .pdf(0 积 f)
2023-08-07
2022年09月四级真题全3套.pdf 含听力
2023-08-06
MATLAB自学教程-(免费中文版).pdf
2023-08-05
MongoDB安装教程
2023-08-05
SQLyog安装教程(mysql数据库界面软件)
2023-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人