自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java组队学习Task05

抽象类抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象。首先从现实世界中的对象可以抽象出软件系统中的对象(保留主要属性和行为,去掉次要属性和行为),然后从软件系统中的对象可以抽象出软件系统中的类(去掉属性值,把具体的对象变成了抽象的概念),而抽象类则是对多个类的抽象结果,抽象类进一步描述了多个具体类的共同特征和行为。从系统分析的角度,使用抽象类可以更好地刻画自然界的抽象概念,更有效地完成软件系统与自然行为系统的映射,从系统设计实现的角度,使用抽象类可以

2021-07-22 17:16:48 192 1

原创 Java组队学习Task04

面向对象语言的三大特性:封装: 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象。 继承: 继承是使用已存在的类的定义作为基础建立新类的技术,新...

2021-07-21 14:14:28 211

原创 Java组队学习Task03

数组一组连续的存储空间,存储多个相同数据类型的值。同一种类型数据的集合。其实数组就是一个容器。运算的时候有很多数据参与运算,那么首先需要做的是什么.不是如何运算而是如何保存这些数据以便于后期的运算,那么数组就是一种用于存储数据的方式,能存数据的地方我们称之为容器,容器里装的东西就是数组的元素, 数组可以装任意类型的数据,虽然可以装任意类型的数据,但是定义好的数组只能装一种元素, 也就是数组一旦定义,那么里边存储的数据类型也就确定了。数组的特点类型相同,长度固定,可以自动给数组中的元素从0开始编号

2021-07-16 19:24:23 180 1

原创 Java组队学习Task02

1.基础数据类型和变量所谓变量就是申请内存还存储值,即创建变量时需要申请内存空间。内存管理系统根据该变量的数据类型来分配存储空间,而分配给特定变量的存储空间只能存储该变量。因此,可以通过定义不同的数据类型的变量即可存储如整数、浮点数、布尔变量等数据。ava 的两大数据类型:内置数据类型 引用数据类型1.1内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。1.整数类型byte 8位 最小值是-128(.

2021-07-15 21:15:54 127 1

原创 JAVA组队学习Task01

1.Java简介Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。任职于Sun公司(Stanford University Network斯坦福网络公司)的詹姆斯·高斯林和麦克·舍林丹等人于1990年代初开发Java语言的雏形,最初被命名为Oak,Oak的目标是作为家用电器等小型系统

2021-07-12 16:27:21 90

原创 网络安全的一些介绍

DDos攻击:分布式拒绝服务定义:攻击者短时间内利用大量僵尸机器对目标网站发起大量请求,消耗目标主机资源使其无法正常服务。应对办法:1.采用高性能的硬件主机服务器2.ddos清洗:及时发现DOS攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。3.黑名单4.cdn加速:使流量分散在多个节点上,隐藏真实主机IP沙箱机制一个限制应用程序对系统资源进行访问的运行环境网络安全事件例子1983年,凯文·米特尼克因被发现使用一台大学里的电脑擅自进入今日互联网的前身.

2020-06-22 18:41:32 379

原创 各平台进程/线程通信方式

Linux进程间的通信方式:管道、有名管道、信号量、消息队列、共享内存、信号、socketLinxu线程间的通信方式:互斥量、条件变量、信号量、信号Windows进程间的通信方式:管道、信号量、消息队列、共享内存、socketWindows线程间的通信方式:互斥量、信号量、事件、临界区...

2020-06-18 01:33:23 155

原创 算法工程师资料

机器学习课程地址:https://www.coursera.org/course/ml笔记地址:http://www.ai-start.com/ml2014/深度学习课程地址:https://mooc.study.163.com/university/deeplearning_ai#/c笔记地址:http://www.ai-start.com/dl2017/...

2019-08-25 15:32:38 170 2

转载 通俗易懂pca详解

文章分析脉络梳理:1.向量A和B的内积表示的是向量A在B上的投影长度。那么将一个向量与新的基做内积,结果则表示该向量在新的基下的坐标。2.将新选定的基表示成矩阵形式,与原向量相乘,就得到了原向量在新选定的基所表示的空间(或坐标系)中的坐标表示了。3.怎样选定这组基用于数据降维?(目标)(1)首先将数据变换到选定基上后,数据的方差要大,尽量分散。(2)各个基要正交(表示的信息要...

2019-08-21 15:45:15 752

转载 机器学习面试题

BAT机器学习面试系列1.请简要介绍下SVM。SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。扩展:支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性...

2019-08-05 10:54:52 1931

原创 解决vim在文本后自动追加美元符号$的问题

vim自动在文本后面加一个$,导致很多配置读取错误解决方式:想去除最末尾的换行符,可进行如下处理:1、进入vim前,增加-b参数vim -b xxx2、进入命令行模式,开启 set noeol3、再进行编辑如下:#cat /tmp/aa# ...

2019-01-25 19:46:37 1603

转载 CentOS设置系统时间与网络时间同步

原地址:https://blog.csdn.net/u011391839/article/details/62892020Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。系统时间:指当前Linux Kernel中的时间。硬件时间:主板上有电池供电的时间。查看系统时间的命令: #date设置系统时间的命令: #d...

2019-01-25 19:12:37 158

原创 深度学习中常用的工具脚本

1.创建txt文件的路径名import os;import shutil; def listname(path,idtxtpath): filelist = os.listdir(path);# 该文件夹下所有的文件(包括文件夹) filelist.sort() f = open(idtxtpath, 'w'); for files in filelis...

2018-12-06 15:03:34 605

原创 yolov3-voc.cfg使用的一些坑

[net]# Testing 初始batch参数要分为两类,分别为训练集和测试集,不同模式相应放开参数,#为注释符号#batch=1#subdivisions=1# Trainingbatch=64 一批训练样本的样本数量,每batch个样本更新一次参数subdivisions=8 batch/subdivisio...

2018-11-21 10:34:57 5329

原创 Mac下labelimg安装(pyqt4版本)

brew install cart/qt4/pyqtbrew install libxml2pip install labelImg测试:labelImg

2018-11-20 11:05:42 442

转载 深度学习/机器学习图像标注工具

对于监督学习算法而言,数据决定了任务的上限,而算法只是在不断逼近这个上限。世界上最遥远的距离就是我们用同一个模型,但是却有不同的任务。但是数据标注是个耗时耗力的工作,下面介绍几个图像标注工具:LabelmeLabelme适用于图像分割任务的数据集制作: 它来自下面的项目:https://github.com/wkentaro/labelme 该软件实现了最基本的分割数据标注工作,在sa...

2018-11-06 13:41:23 2328

转载 如何写cmake使其包含c++11特性 (-std=c++11如何写进cmakeList.txt)

g++ 4.8.2cmake 2.8之前写cmkae编译带有c++11特性的代码有这么一句:set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")但是总会出现cc1plus: error: unrecognized command line option "-std=c++11" 报错。所以set(QMAKE_CXXFLAGS "-s...

2018-11-02 15:07:56 6835

原创 cmake3.3安装

没有gcc和g++的先执行这一步~ yum install gcc ~ yum install gcc-c++继续执行:下载cmake ,install~ cd /tmp ~ wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz ~ tar xzvf cmake-3.3.2.tar.gz ~ cd cmake-3.3.2 ~...

2018-11-02 15:03:59 2349

原创 dockerfile的一些语法

FROM centos:centos7MAINTAINER luomei# Install prepare infrastructureRUN yum -y update && \ yum -y install wget && \ yum -y install tar RUN yum -y install bzip2RUN localedef -i...

2018-11-01 20:24:28 1153

原创 ffmpeg 判断关键帧

当mp4的profile为high的时候,avpacket==1并不能判断是否是关键帧,很多不是的也被误判断成关键帧了,具体做法应该是,进一步判断字节:int is_keyframe_h264(AVPacket* pkt) {// printf("%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",// pkt->data[0],...

2018-10-25 20:51:26 2739

转载 gstream学习资料汇总

原文:https://blog.csdn.net/yanbixing123/article/details/52970956学习步骤:0. 可以看看我做的《GStreamer讲解》ppt入门,里面对于很多知识的入门讲解,不用积分,下载链接:http://download.csdn.net/detail/yanbixing123/9667990CSDN没有免费的链接了,下面新的下载链接,2积分: h...

2018-07-13 10:49:39 2013 1

原创 condition_variable

#include <iostream>#include<thread>#include<mutex>#include<condition_variable>#include<unistd.h>std::mutex mtx;//全局互斥锁std::condition_variable cv;//全局条件变量bool read...

2018-07-12 11:38:49 150

原创 linux下结束指定名称的所有进程

1.kill -9 `ps -ef| grep ./videohandle| awk '{print $2}'`功能:结束名为./videohandle的所有进程注意外层是esc键下面那个顿号,内层是单引号2.ps -ef |grep -v grep |grep ./videohandle |cut -c 7-12| xargs kill -9...

2018-06-28 10:52:37 3887

转载 g++,make ,cmake的一些区别

大家都知道,写程序大体步骤为:1.用编辑器编写源代码,如.c文件。2.用编译器编译代码生成目标文件,如.o。3.用链接器连接目标代码生成可执行文件,如.exe。但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来...

2018-05-25 14:46:06 864

转载 运行时库路径指定

这里补充一点,动态库(.so)是直接可以调用的,并不会被编译进程序。只读文件系统,将其中一个目录通过nfs方式mount到其它地方(比如PC机),将动态库放于该目录下,并将该目录指定为库的搜索路径(export LD_LIBRARY_PATH=),程序运行时会调用该目录下的库,而不是去调用存放在只读文件系统中的原有的库(已亲自实测),这样在调试某一个动态库时只需要编译替换该库即可,大大缩减了调试开...

2018-05-24 17:45:06 2560

转载 NVIDA CUDA显卡计算能力对应表

FROM: https://developer.nvidia.com/cuda-gpusCUDA GPUs最新信息见:https://developer.nvidia.com/cuda-gpusNVIDIA GPUs power millions of desktops, notebooks, workstations and supercomputers around the world, ac...

2018-05-04 18:37:27 39520 1

原创 【c++】各种多态机制的一些总结

1.对类层次中的同名成员函数来说有三种关系:overload,override,hide重载overload:同一类定义的成员函数才有的关系,返回类型,形参类型或个数不同,但是不能只返回值不同。属于静态多态。重写override:通过虚函数实现,子类覆盖基类的虚函数。隐藏hide:不通过虚函数实现,子类屏蔽基类中的同名函数。2.虚类,纯虚类,抽象类和虚基类虚类:含有虚函数的类都叫虚类。纯虚类:所有...

2018-05-02 11:57:36 192

原创 【c++11】并发指南之mutex类与lock类

1  mutex类:1.1 std::mutex,基本锁1.2 std::recursive_mutex,递归锁 std::recursive_mutex 与 std::mutex 一样,也是一种可以被上锁的对象,但是和 std::mutex 不同的是,std::recursive_mutex 允许同一个线程对互斥量多次上锁(即递归上锁),来获得对互斥量对象的多层所有权,std::recursiv...

2018-04-29 11:45:51 849

原创 【c++】类在内存中的初始化过程

对象初始化过程是这样的:1.       首先加载类到内存中2.       对于静态变量,系统默认初始化为null或0等默认值3.       执形静态代码块或类变量的显示初始化(代码中谁在前面谁就先执行),如果和主函数在同一块中,优于主函数执行。4.       在堆内存中开辟空间,分配内存地址5.       对于成员变量,首先系统默认初始化为null或者0等默认值6.       然后执行...

2018-04-25 16:10:42 1394

原创 【c++11】总结auto和decltype

1.auto 表达式类型推断auto i=0,*p=&ii该例中i为int,p为int型指针,auto可以一条语句声明多个变量,但是所有变量初始类型都需一样。auto i=0,j=3.14;//错误,两个变量类型不一样auto会忽略顶层const,只保留底层const,之前一篇博文也提到了,ps:constexpr则只对指针有效,顶层。const int ci=i;auto b=ci;此...

2018-04-24 22:07:33 299

原创 【c++11】const与constexpr

const大家都知道,当我们希望定义一种变量,它的值不能被改变时使用。一 初始化时注意几点1.定义时必须初始化const int i = 42;//correctconst int k;//wrong,const should be initialized2.可以用非常量初始化int i = 42;const int j = i;//正确,拷贝完成后j的值与i没什么关系了3.默认情况下仅在文...

2018-04-23 14:30:41 1080

转载 23种设计模式总结

Part One: Methods for constrcting a new object:1. Factory method我们把简单工厂方法归类到工厂方法中。工厂方法的目的是用来解决具有同一接口(基类)派生类对象的生成问题。尽管可以通过类的构造函数生成对象,但是,如果派生类的数量很大——即使几十个不同的派生类——对于程序设计而言也是困难的。这里有两个困难:其一是可读性,在一个程序里使用一个s...

2018-01-04 10:10:43 386

转载 模板函数的声明和定义为何不能分开放在两个文件中?

首先明确:对普通函数来说,声明放在头文件中,定义放在源文件中,其它的地方要使用该函数时,仅需要包含头文件即可,因为编译器编译时是以一个源文件作为单元编译的,当它遇到不在本文件中定义的函数时,若能够找到其声明,则会将此符号放在本编译单元的外部符号表中,链接的时候自然就可以找到该符号的定义了。而对模板函数来说,首先明确,模板函数是在编译器遇到使用模板的代码时才将模板函数实例

2017-12-08 16:07:16 3727

原创 c++回调机制全解:定义原型,注册,回调,封装.

模块A调用模块B,但在B中,需要反过来调用到A的函数a(),则a()称为回调函数,在B中需要做的事:1.约定回调函数原型.2.定义注册回调函数在A中需要:1.定义回调函数2.调用B的注册回调函数使用回调函数的几个步骤:1.在B中,约定借口规范,定义回调函数a()的原型这里回调函数原型的定义最好遵循typedef void (*SCT_XXX)(LPVOID lp, const CBParamStr...

2017-08-25 11:12:40 2801 1

原创 网络中超时接收的函数之一 select

int ReadTimeOut(int nSocket, unsigned int nWaitSeconds) {//默认为0,当wait_seconds==0时,不检测直接返回0int nRet = 0;//需要检测超时if (nWaitSeconds > 0) {fd_set stReadSocketSet;  //读套接字结构体struct timeval stTim

2017-08-09 11:06:36 447

转载 c++多线程

C++ 多线程C++本篇博客主要介绍C++ 的多线程机制。多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。线程的多任务处理是同一程序的片段的并发执行。多线程程序包含可以同时运行的两个或多个部分。这样的

2017-07-10 09:56:25 340

转载 浮点数比较大小

计算机表示浮点数(float或double类型)都有一个精度限制,对于超出了精度限制的浮点数,计算机会把它们的精度之外的小数部分截断。因此,本来不相等的两个浮点数在计算机中可能就变成相等的了。例如:    float a=10.222222225,b=10.222222229    数学上a和b是不相等的,但在32位计算机中它们是相等的。    如果两个

2016-04-19 19:30:23 2876 1

原创 svd奇异值分解,可成功运行。

运行前只需要改一下M,N参数和输入矩阵A的值就行啦。#include #include #include  #define NR_END 1#define FREE_ARG char*#define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))static double dmaxarg1,dmaxarg2;#define

2016-04-14 17:40:09 1207

原创 一些基本的opencv图像预处理函数直接用法(灰度化,otsu二值化,腐蚀膨胀,canny)

#include #include #include  using namespace std;  using namespace cv;  int main(int argc, char** argv){const char* filename = "YinZhang\\0004.jpg";IplImage * pSrcImg=NULL;IplImage

2016-04-13 17:24:10 2375

原创 正宗快排

#includeint partition(int a[],int left,int right){    int i=left;    int j=right;    int temp=a[i];    while(i    {        while(i=temp)            j--;            if(i

2016-04-03 11:52:23 294

密码学教程

很好的密码学资料,来自南京航空航天大学。

2013-10-15

图形学bezier曲线代码

图形学bezier曲线,经调试可以用,netbeans环境。

2013-06-13

空空如也

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

TA关注的人

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