- 博客(37)
- 资源 (11)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 图像处理的第一个Demo Mask R-CNN :基于 Win10 的 Mask RCNN 环境搭建+Mask R-CNN demo演示
准备工作:下载好源码和cocoAPI包Mask R-CNN论文地址:https://arxiv.org/abs/1703.06870开源地址:https://github.com/matterport/Mask_RCNN将该项目下载下来。同时下载 Mask RCNN 的预训练模型 “mask_rcnn_coco.h5”,放置于本地 Mask_RCNN 开源库的根目录下。“mask_rcnn_coco.h5” 下载地址:https://github.com/matterpo
2020-10-09 21:10:49
349
原创 依据提供的人脸图像库facedatabase和非人脸图像库nonfacedatabase,利用 PCA 降维与欧式距离判断输入的测试图像是否是人脸,要求测试集facetestset 的准确率不低于 6
依据提供的人脸图像库facedatabase和非人脸图像库nonfacedatabase,利用 PCA 降维与欧式距离判断输入的测试图像是否是人脸,要求测试集facetestset 的准确率不低于 65%。提示:由于最高的几个 PCA 向量倾向于捕捉亮度模式而不是人脸特性,可删除前 3~5 个 PCA 向量。可借助提供的readInFaces.m,isFaceTest.m 和 isFace.m 等编写 Matlab 代码完成检测并给出准确率,显示测试集中所有错误检测的图。答:1、首先读取数据集中的所
2021-04-21 22:20:38
684
原创 EOS配置--win10+VS2019下配置opencv+boost
1准备Visual studio 2019 python (Anaconda 3) 操作系统:windows 102安装依赖工具安装boost网上有很多如何安装,如何编译等等的教程,实在费劲,这里强烈推荐直接下载exe文件直接安装,然后配置系统变量以及新建一个C++工程验证boost是否安装好即可。安装包下载链接:boost_1_72_0-msvc-14.2-64.exe测试boost1.打开VS2019,新建一个空C++项目,并创建main.cpp 文件。点击项目的属性。
2020-11-16 10:30:18
440
原创 skipping ‘mesh_core_cython.cpp‘ Cython extension (up-to-date)
我在pycharm中编译C++文件,但是出现了如下错误:running build_extskipping 'mesh_core_cython.cpp' Cython extension (up-to-date)且 run setup.py文件显示报错:no commands supplied解决办法:python setup.py install然后再编译C++文件:python setup.py build_ext -i问题就解决啦...
2020-11-09 20:30:35
3054
7
原创 MinGW-w64安装配置全过程
前言《简单易懂的MinGW-w64安装教程》这篇文章由 居红乡 (https://rsreland.net)于2016年09月24日 编写,MinGW-w64 对应的 gcc 是 6.2.0 版本(也可能适用6.3.0及以上版本),运行环境是 Windows 10 操作系统。(请注意本文的编写时间,及软件版本,来判断本文是否还有效。)本文主要讲述如何安装 C语言 编译器——MinGW-w64,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用。编写本文的原因始于我的一个观点:图片.
2020-10-27 09:48:44
5524
2
原创 吴恩达<深度学习>第二周编程作业 详细注解
import numpy as npimport matplotlib.pyplot as pltimport h5py # 用于与存储在H5文件中的数据集交互# scipy和PIL 用于最后用你自己的图片测试你的模型import scipyfrom PIL import Imagefrom scipy import ndimagefrom lr_utils import load_dataset #该函数在lr_utils.py文件中train_set_x_orig , trai.
2020-10-14 19:12:48
579
原创 向量化的好处举例
1、向量化向量化(Vectorization)就是利用矩阵运算(代替for循环),提高运算速度。如上图所示:向量化计算的速度是for循环计算速度的600倍
2020-10-11 11:23:32
856
1
转载 python矩阵的切片(或截取)
矩阵一般有行也有列,所以矩阵的截取也需要包含行和列两个参数。 假设a是一个矩阵,a的截取就可写成:a[起始行:终止行,起始列:终止列],中括号中有一个逗号,逗号前的是为了分割行的,逗号后的是为了分割列的。例如:a1=np.array([[1,2,3,4],[5,6,7,8],[11,12,13,14],[2,3,4,5]]) 1 2 3 importnumpy as np a1=np.array([[1,2,3,4],[5,6,7,8].
2020-09-24 19:28:14
8572
原创 k-近邻算法代码细节
k-邻近算法概述:k-邻近算法采用测量不同特征值之间的距离方法进行分类优点:精度高、对异常值不敏感、无数据输入假定缺点:计算复杂度高、空间复杂度高使用数据范围:数值型和标称型工作原理:存在一个样本数据集合(也称作训练样本集),并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最邻近)的分类标签。一般来说,选取样本数据集中前k个最相似的数据,这就是k-.
2020-09-21 19:48:46
260
原创 C++练习案例2:点和圆的关系 设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系(圆上、圆外、圆内)。
练习案例2:点和圆的关系设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系(圆上、圆外、圆内)。例程如下:#include<iostream>#include<string>using namespace std;//一个点类(Point)class Point{public: //设置x坐标 void setX(int x) { p_x = x; } //获取x坐标 int getX() { return
2020-07-31 16:19:33
4204
原创 C++练习案例1:设计立方体类 1、设计立方体类(Cube) 2、求出立方体的面积和体积 3、分别用全局函数和成员函数判断两个立方体是否相等。
练习案例1:设计立方体类1、设计立方体类(Cube)2、求出立方体的面积和体积3、分别用全局函数和成员函数判断两个立方体是否相等。#include<iostream>#include<string>using namespace std;//创建立方体类class Cube{private: //属性 一般设置为私有 长宽高 int m_L; int m_W; int m_H;public: //设置长 void setL(int L)
2020-07-31 16:18:30
3908
原创 C++封装基础应用
1.1 封装1.1.1 封装的意义封装是C++面向对象三大特性之一封装的意义:* 将属性和行为作为一个整体,表现生活中的事物* 将属性和行为加以权限控制封装意义一:在设计类的时候,属性和行为写在一起,表现事物语法:class 类名{ 访问权限: 属性 / 行为 };示例1:设计一个圆类,求圆的周长示例代码://圆周率const double PI = 3.14;//1、封装的意义//将属性和行为作为一个整体,用来表现生活中的事物//封装一个...
2020-07-31 13:57:59
150
原创 C/C++引用法的基本使用规则
1引用1.1引用的基本使用作用:给变量起别名语法:数据类型 &别名=原名//int &b = a;1.2引用的注意事项引用必须初始化;引用再初始化后,不仅而已改变;int &c;//错误,引用必须初始化;int &c=a;//一旦初始化后不可以改变 c=b;//这是赋值操作,不是更改引用1.3引用做函数参数作用:函数传参时,可以利用引用让形参修饰实参优点:可以简化指针修饰实参//值传递,形参不会修饰实参void swap01(in
2020-07-28 11:46:23
325
1
原创 C/C++通讯录管理系统实例
通讯录管理系统实例:1、退出功能功能描述:退出通讯录系统;思路:根据用户的不同选择,进入不同功能,可以选择switch分支结构,将整个框架搭建,当用户选择0时,执行退出,选择其他先不做操作,也不会退出程序;2、添加联系人功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括(姓名、性别、年龄、联系电话、家庭住址);添加联系人实现步骤:设计联系人结构体;设计通讯录结构体;main函数中创建通讯录;封装添加联系人函数;测试添加联系人功能;3、显示联系人功能描述:显示通讯录中已有
2020-07-27 21:24:55
225
1
原创 设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。 通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。
结构体应用案例案例描述:设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。五名英雄信息如下: {"刘备",23,"男"}, {"关羽",22,"男"}, {"张飞",20,"男"}, {"赵云",21,"男"}, {"貂蝉",19,"女"},案例如下:#include<iostream>...
2020-07-27 00:53:38
964
原创 学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下 设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员 学生的成员有姓名、考试分数
结构体案例案例描述:学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下:设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员,学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值,最终打印出老师数据以及老师所带的学生数据。例程如下:#include<iostream>using namespace std;#include<string>#include <ctime>
2020-07-27 00:26:59
1210
原创 冒泡排序算法实例
案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序例如数组:int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };例程如下:#include <iostream>//冒泡排序算法函数 using namespace std;int main() { int a[10] = { 4,3,6,9,1,2,10,8,7,5 }; void BubbleSort(int* a, int len); BubbleSort(a, 10);
2020-07-24 18:35:37
332
原创 敲桌子游戏 案例描述:从1开始数到数字100, 如果数字个位含有7, 或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。
练习案例:敲桌子案例描述:从1开始数到数字100, 如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。例程如下:#include <iostream>using namespace std;int main() { int num; for (num = 1; num<= 100; num++) { if (num < 10) if (num == 7 || num % 7 == 0) cout
2020-07-21 11:41:16
3785
1
原创 水仙花数 案例描述:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
练习案例:水仙花数案例描述:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身例如:1^3 + 5^3+ 3^3 = 153请利用do...while语句,求出所有3位数中的水仙花数获取个位 num%10获取十位 (num/10)%10获取百位 num/100#include <iostream>using namespace std;int main() { int num = 100; int a = 0; int b = 0; int c
2020-07-21 11:39:41
18725
原创 猜数字 随机生成一个1-100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或者过小,如果猜对恭喜玩家胜利,并且退出游戏。
案例:猜数字要求:随机生成一个1-100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或者过小,如果猜对恭喜玩家胜利,并且退出游戏。**限制随机数的范围有时程序需要一个特定范围内的随机数。要将随机数的范围限制在 1 和某个最大值 max 之间的整数,可以使用以下公式:number = rand() % max + 1;例如,要生成 1-6 的随机数来代表骰子的点数,则可以使用以下语句:dice = rand() % 6 + 1;添加随机数种子 作用是利用当前系统时间生成随机数,防止每次
2020-07-19 22:10:03
19949
1
原创 C++--提示用户输入一个高考考试分数,根据分数做如下判断
案例需求:提示用户输入一个高考考试分数,根据分数做如下判断分数如果大于600分视为考上一本,大于500分考上二本,大于400考上三本,其余视为未考上本科;在一本分数中,如果大于700分,考入北大,大于650分,考入清华,大于600考入人大。例程如下:#include <iostream>using namespace std;int main() { int score; cout << "请输入考试成绩" << endl; cin >
2020-07-19 21:27:13
1856
转载 C++基础语法+实例--入门版
C++基础入门1 C++初识1.1 第一个C++程序编写一个C++程序总共分为4个步骤创建项目 创建文件 编写代码 运行程序1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开1.1.2 创建文件右键源文件,选择添加->新建项给C++文件起个名称,然后点击添加即可。1.1.3 编写代码#include<iostream>using namespace std;i...
2020-07-18 19:36:33
2894
原创 51单片机--某系统有K1和K2,一个数码管,当按下K1数码管加1,按下K2数码管减1
题目:某系统有K1和K2,一个数码管,当按下K1数码管加1,按下K2数码管减1程序如下:#include <reg52.h>#define uint unsigned int#define uchar unsigned char#define LED_seg P0#define LED_com P2sbit key1=P3^1;sbit key2=P3^0;s...
2020-05-07 16:06:34
10103
1
原创 C语言--不使用库函数,利用指针编写一个计算字符串长度的程序
题目:编写一个函数计算一个字符串的长度,输入输出在主函数中完成以下两个例程仅供参考:#include <stdio.h>int Strlen(char *str)//不使用库函数,利用指针计算字符串的长度{ int i=0; while(str[i] != '\0') i++; return (i);}int main(){ int s; char...
2020-05-06 21:45:23
6391
1
原创 已知8051单片机的时钟频率为6MHZ,通过定时器1的工作方式1在P1^1引脚输出一个1KHZ占空比为60%的矩形波。
题目:已知8051单片机的时钟频率为6MHZ,通过定时器1的工作方式1在P1^1引脚输出一个1KHZ占空比为60%的矩形波。已知条件分析:1、时钟频率6MHZ,从这里我们可以得出它的机器周期为1/f=1/6us;2、定时器1,工作方式1,那么对应TMOD寄存器也就是0x10;3、输出一个1KHZ占空比60%,这里其实有两个条件,第一个输出1KHZ,他告诉我们输出的波形周期是1/f=1...
2020-05-05 23:43:51
9132
2
原创 输入100个学生信息(包含:学号、成绩、姓名),并按成绩由高到低排序输出
//输入100个学生信息(包含:学号、成绩、姓名),并按成绩由高到低排序输出#include <stdio.h>#define N 100struct student //定义一个student 类型的结构体{ int num; float scor; char name[20];}stu[N];void input(struct student a[]) ...
2020-04-28 23:27:25
9247
原创 C语言位运算介绍
位运算位运算的对象只能是整形或者字符型数据;C语言提供了6种位运算符:按位与&、按位或|、按位异或^、按位去反~、按位左移<<、按位右移>>;1、按位与运算(&)规则:全1为1,有0为0;作用:清零;2、按位或运算(|)规则:有1为1,全0为0;作用:将特定位置1;3、按位异或运算(^)规则:相异为1,相同为0;4、按位取反(~)...
2020-04-27 20:33:30
282
原创 51单片机的头文件注释
51单片机的头文件注释:/*--------------------------------------------------------------------------REG51.HHeader file for generic 80C51 and 80C31 microcontroller.Copyright (c) 1988-2002 Keil Elektronik Gm...
2020-04-27 15:25:42
402
原创 简述typedef与#define的区别
CtypedefC 语言提供了typedef关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语BYTE:typedef unsigned char uchar;也可以使用typedef来为用户自定义的数据类型取一个新的名字。例如,您可以对结构体使用 typedef 来定义一个新的数据类型名字,然后使用这个新的数据类型来直接定义结构变量,如下:...
2020-04-27 15:07:41
222
原创 简述结构体struct与共用体union的使用
C结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。定义结构为了定义结构,我们必须使用struct语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:struct tag { member-list member-list m...
2020-04-27 14:17:39
565
原创 C 字符串的概念与应用
C字符串在 C 语言中,字符串实际上是使用null字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。char greeting[6] = {'H', 'e', 'l', 'l', 'o', ...
2020-04-27 13:44:04
134
原创 C语言入门算法程序整理
以下是一些C语言入门程序,适合刚开始学C语言的萌新。1、交换两个数的值;#include <stdio.h> ///交换两个数的值int main(){ int a1 , a2 , temp; printf("请输入两个数:"); scanf("%d %d",&a1,&a2 ); temp=a1; a1=a2; a2=temp; pr...
2020-04-25 22:44:59
351
原创 利用中断控制流水灯的启停
要求:进行流水灯,按键按下时LED1-8全亮,松手后继续进行流水灯程序如下:/*主程序进行流水灯,按键按下后LED1-8全亮*/#include <reg52.h> //LED=0为亮 key=0为按下 #define uint unsigned int#define uchar unsigned char#define LED P2sbit key=P3^2;...
2020-04-14 22:26:54
5645
2
原创 单片机4*4矩阵键盘的原理
单片机4*4矩阵键盘的扫描原理方法一:逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。方法二:行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键...
2020-04-13 21:21:49
6779
1
原创 C51编程--用定时器定时检测按键的长按与短按开关LED灯
题目:使用汇编或者C语言,编写一个单片机程序。P2.0控制LED灯(0为亮,1为灭),P3.1为按键KEY(按下为0,不按下为1),实现按键长按0.2s后开灯,长按2s后关灯。时间需要准确,用定时器来实现。单片机晶振为12MHZ。分析:使用定时器中断,在主循环中一直检测按键是否按下程序如下:#include <reg51.h>#define uint unsig...
2020-04-13 20:51:57
4386
12
原创 C语言学习笔记--删除字符串中特定的字符
题目:输入一个长度不超过100的字符串,然后输入一个字符,通过程序将字符串中该字符删除并输出最后的字符串,要求字符串存放在数组中,字符串的输入与输出,在主函数中实现删除字符,在自定义函数deletechar中实现。思路:遍历字符串,然出一个以后,将后面的字符向前移一个,重复此过程; 遍历数组,找出与需删除字符不同的字符,然后输出这些字符;显然方法二更为简单代码如下:#inclu...
2020-03-06 15:19:56
2032
原创 C语言学习笔记--“求1000以内完数”
#include <stdio.h>///求1000以内的完数 例如6=1+2+3int main(){ int i , j,s ; for(i=1;i<=1000;i++) { s=i; for(j=1;j<i;j++) { if(i%j==0) s...
2020-02-28 14:22:28
272
滤波器的分类及其特点
2018-09-30
OP07芯片资料
2017-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人