网易搬砖选手

网易资深游戏服务器架构设计,分享游戏服务器,客户端,深度学习经验

  • 博客(736)
  • 资源 (92)
  • 收藏
  • 关注

原创 C++:08---成员变量初始化方式

成员变量初始化有三种方式:在构造函数体内赋值初始化在自定义的公有函数体中赋值初始化(一般用于成员变量的初始化)在构造函数的成员初始化列表初始化一、构造函数体内初始化说明:在构造函数体内的...

2020-11-26 08:00:00 242

原创 C++:09---类静态成员、类常量成员

一、类静态成员(static)先介绍一下什么是静态变量、静态函数静态局部变量:存在域(全局数据区),作用域(块作用域)静态全局变量:存在域(全局数据区),作用域(整个文件)静态函数:存在...

2020-11-26 08:00:00 198

原创 (十三)nodejs循序渐进-高性能游戏服务器框架pomelo之扩展聊天服务器为机器人自动聊天

RPC的调用问题今天算是又增强了自己对pomelo RPC的认识,因为一个bug。起初,我们游戏的角色信息是作为一个redis缓存对方存放的,有一个不好的地方就是,如果别的地方调用该玩家的信息并进行修改,就可能会出现两处数据修改,结果却只有一处能够修改成功。例如:A接口,B接口。都会获取charInfo并对charInfo 进行修改。先调用A接口, 在A接口处理逻辑的过程中,调用了B接口。这时候A,B获取到的charInfo是一样的,但是,修改的属性值可能不一样,在redis设置缓存的时...

2020-11-25 11:27:21 444 5

原创 C++:04---内联函数

1.概念:内联类似于宏定义,当程序执行到内联函数时,相当于复制了一份函数代码。牺牲代码空间,赢得了时间内联说明只是向编译器发出一个请求,编译器可以选择忽略这个请求2.关键字:inline...

2020-11-25 11:01:01 241

原创 C++:05---命名空间

一、概念:①类似于仓库,空间内存储代码,需要用到时调用②也为防止名字冲突提供了更加可控的机制二、命名空间的定义定义的基本格式如下:namespace 命名空间名{//一系列声明与定...

2020-11-25 11:01:01 87

原创 C++:02---命名空间

一、概念:①类似于仓库,空间内存储代码,需要用到时调用②也为防止名字冲突提供了更加可控的机制二、命名空间的定义定义的基本格式如下:namespace 命名空间名{//一系列声明与定...

2020-11-25 11:01:01 97

原创 (十二)nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器

上个章节我们简单介绍了下pomelo的安装和目录结构,有读者可能觉得有点吃不消,为什么不再深入讲一讲目录结构和里边的库,这里我就不费口舌了,大家可以去官网参考文档说明,本文只告诉大家如何利用这个框架来开发自己的东西。随着文章的后续不断推进,我相信大家会越来越熟悉pomelo,对猪场框架的使用也会越来越得心用手。 新建gate和chat服务器在app/servers目录下新建gate和chat服务器。gate服务器:在一般情况下用户量一台机器就可以支撑,但用户量多...

2020-11-24 13:58:49 1087 3

原创 (十一)nodejs循序渐进-高性能游戏服务器框架pomelo之启动流程和组件

游戏启动过程启动入口在使用pomelo进行游戏开发时,工程目录下的app.js是整个游戏服务器的启动运行入口。app.js中创建项目,进行默认配置并启动服务器的代码如下:var pomelo = require('pomelo');var app = pomelo.createApp();app.set('name', 'nameofproject');app.start();从上面的代码可以看出,用户首先需要在项目中引入pomelo,然后创建application的实例app,接着

2020-11-24 13:58:10 594

原创 (十)nodejs循序渐进-高性能游戏服务器框架pomelo之介绍和安装篇

Pomelopomelo是一个快速、可扩展、Node.js分布式游戏服务器框架,对游戏服务器开发感兴趣的同学可以关注关注。之前做页游,端游和手游一直都是用的C++,或者C++ + lua,C++ + golang的方式来开发,说实话,C++用起来得心用手,有多少坑自己心里有点逼数,用的大都是腾讯系的框架库,要么是盛大系的框架库,底层比较稳定,即使如此,但一旦有个项目要立项,之前代码不可换皮的情况下,你发现用C++开发还真的是笨重,因为你可能又得重新编一大堆的库,或许编完就得大半天功夫,有些工具类库可

2020-11-24 13:57:46 995

原创 (九)nodejs循序渐进-Express框架(进阶篇)

Express 框架Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 定义了路由表用于执行不同的 HTTP 请求动作。 可以通过向模板传递参数来动态渲染 HTML 页面。 安装 Express安装 Express 并将其保存到依赖列表中:

2020-11-24 13:56:59 396

原创 (八)nodejs循序渐进-事件驱动(进阶篇)

事件驱动程序Node.js 使用事件驱动模型,当web server接收到请求,就把它关闭然后进行处理,然后去服务下一个web请求。当这个请求完成,它被放回处理队列,当到达队列开头,这个结果被返回给用户。这个模型非常高效可扩展性非常强,因为 webserver 一直接受请求而不等待任何读写操作。(这也称之为非阻塞式IO或者事件驱动IO)在事件驱动模型中,会生成一个主循环来监听事件,当检测到事件时触发回调函数。整个事件驱动的流程就是这么实现的,非常简洁。有点类似于观察者模式,事件.

2020-11-24 13:56:41 385

原创 (七)nodejs循序渐进-模块系统(进阶篇)

模块系统为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。创建模块Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。接

2020-11-24 13:56:27 160

原创 (六)nodejs循序渐进-数据流和文件操作(基础篇)

BufferJS 语言自身只有字符串数据类型,没有二进制数据类型,因此 NodeJS 提供了一个与 String 对等的全局构造函数 Buffer 来提供对二进制数据的操作。除了可以读取文件得到 Buffer 的实例外,还能够直接构造,Buffer 与字符串类似,除了可以用.length属性得到字节长度外,还可以用[index]方式读取指定位置的字节。例如:var bin = new Buffer([ 0x68, 0x65, 0x6c, 0x6c, 0x6f ]); Buffer 与...

2020-11-24 13:56:05 335

原创 (五)nodejs循序渐进-回调函数和异常处理(基础篇)

上篇文章我们讲完了类和对象,接下来我们将要说回调函数

2020-11-24 13:55:19 382

原创 (四)nodejs循序渐进-函数,类和对象(基础篇)

上一篇文章讲到了基本数据类型和运算符,相信大家都能做简单的运算,本篇文章将讲述函数,类,对象。函数在nodejs中,一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。Node.js 中函数的使用与 JavaScript 类似,举例来说,你可以这样做:function say(word) { console.log(word);}function execute(someFunction, value) { someFuncti

2020-11-24 13:54:58 705

原创 (三)nodejs循序渐进-值传递和引用传递,深拷贝和浅拷贝(基础篇)

值传递和引用传递值类型变量:存在内存的堆中,比如:a=1引用类型变量 :1.指针存在于栈中,2.引用类型的具体内容存在于堆中 ex:let a={b:1} a的指针指向 堆中的地址0xffac0ec正如我在 第二章说的,number string boolean这三种常规类型的是值传递, 而array,对象这种就属于引用传递了。代码来说话,我们先看看值传递:var int1 = 12;var int2 = int1;int1 = 10000;console.l.

2020-11-24 13:54:35 1468

原创 (二)nodejs循序渐进-nodejs基本类型和循环条件语法篇(基础篇)

目录入门之helloworld进阶之helloworld http服务器步骤一、引入 required 模块步骤二、创建服务器基本语法篇变量声明基础类型if else循环语句forfor ... inwhile do和do while运算符加减乘除==, ===, !=, !==typeofnull,undefined,NaN好了, 上一篇文章已经讲了node环境安装,这里我们开始第一个经典程序 hellowor...

2020-11-24 13:53:56 675 2

原创 (一)nodejs循序渐进-nodejs环境安装(基础篇)

目录NodeNode的优点Node.js 安装配置使用nvm管理不同版本的 node 与 npmnvm 与 n 的区别卸载全局安装的 node/npmWindows 安装Linux 安装安装多版本 node/npm在不同版本间切换列出已安装实例在多环境中,npm该如何使用呢?其他命令NodeNode 是一个让 JavaScript 运行在服务器端的开发平台,它让 JavaScript 成为与PHP,Python等服务端语言平起平坐的脚本语言。 no

2020-11-24 13:53:28 1096 4

原创 MYSQL增量备份和全量备份脚本分享

mysql的全量备份与增量备份全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表。增量备份:增量备份是针对于数据库的bin-log日志进行备份的...

2020-11-24 11:50:00 519

原创 利用GAE开发一个定时器应用

最近对Google App Engine感兴趣。GAE是免费的(当然也有升级收费的),默认可以建立10个免费的web应用(不过我的账号可以建立25个免费应用^__^),至于配置,如果只是做简单的应用足够应付了,例如做一个定时抓取数据的应用,又或者用goagent搭建梯子。虽然GAE这么好的产品无法在国内(appspot.com在国内是无法访问的),但利用免费的资源做一些简单的事情还是很有意义的,对

2020-11-20 11:24:26 1235

原创 MYSQL增量备份和全量备份脚本

1.MySQLdump增量备份假定星期日下午1点执行全量备份,适用于MyISAM存储引擎。[root@test-huanqiu ~]# MySQLdump --lock-all-tables --flush-logs --master-data=2 -u root -p test > backup_sunday_1_PM.sql对于InnoDB将--lock-all-tables替换...

2020-11-20 09:46:13 277

原创 GCC在C语言中内嵌汇编 asm __volatile__

在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。1、简单的内嵌汇编例: __asm__ __volatile__("hlt"); "__asm__"表示后面的代码为内嵌汇编,"as

2020-11-20 09:45:08 71621 6

原创 记一次海外大型SLG游戏服务器进程被OOM的修复经历

最近刚接手一个海外游戏项目,java写的,运行在jvm之上,吃内存倒是挺厉害的,我一个16G内存的服务器被吃的满满的,这个时候为了解决内存不足,我开启了虚拟内存,方法如下:sudo dd if=/dev/zero of=/swapfile bs=256M count=16 sudo mkswap /swapfile sudo swapon /swapfile #开机自动启动echo "/mnt/swapfile swap swap defaults 0 0 " >> /etc...

2020-11-18 16:10:41 1729 5

原创 (二)容器从入门到深入-初识Kubernetes

Kubernetes 是什么Kubernetes 脱胎于 Google 的 Borg 系统,是一个功能强大的容器编排系统。Kubernetes 及其整个生态系统(工具、模块、插件等)均使用 Go 语言编写,从而构成一套面向 API、可高速运行的程序集合,这些程序文档精良、易于参与贡献或在其上构建应用程序。每个开发、运维或感兴趣的读者都应熟悉它的一些核心概念,以便理解这个系统及其不同的功能,以及为什么几乎所有人都在使用它。在继续之前,我想提一下 Kubernetes 的几个顶级朋友(或竞争对手):EC

2020-11-18 12:01:43 231 2

原创 (一)容器从入门到深入-容器和镜像

一、容器与镜像什么是容器?在介绍容器的具体概念之前,先简单回顾一下操作系统是如何管理进程的。首先,当我们登录到操作系统之后,可以通过 ps 等操作看到各式各样的进程,这些进程包括系统自带的服务和用户的应用进程。那么,这些进程都有什么样的特点?第一,这些进程可以相互看到、相互通信; 第二,它们使用的是同一个文件系统,可以对同一个文件进行读写操作; 第三,这些进程会使用相同的系统资源。这样的三个特点会带来什么问题呢?因为这些进程能够相互看到并且进行通信,高级权限的进程可以攻击其他进程;

2020-11-18 11:54:48 346

原创 如何抓住QQ小游戏买量红利:休闲与内购小游戏买量优化方法分享

2019年5月,Qzone小游戏、玩一玩整合升级为全新QQ小游戏平台,其以开放的社交生态和关系链,为开发者带来了巨大的流量红利。为了帮助更多开发者适应和了解新市场。本文将介绍QQ小游戏投放规模现状以及各项扶持政策,并解读轻度小游戏和重度小游戏的买量优化方法及案例,最后介绍了四项全新的投放能力,希望可以帮助开发者更加了解小游戏的生态。为方便阅读,本文主要分为以下5个要点:一、QQ小游戏投放规模现状二、三大政策扶植,鼓励开发者买量三、休闲小游戏买量优化方法四、内购小游戏买量优化方法五

2020-11-18 10:00:04 1829 4

原创 抖音快手小视频推荐算法之--协同过滤算法剖析

有人说抖音摧毁了中国的年轻人,也有人说抖音改变了自己的生活形态,还有人说抖音让自己的生活过的更加有意义……一千个人眼中,有一千个哈姆雷特,各人有各个行使自己话语的权力,我们无从争辩。对于做自媒体的同仁们来说抖音就是粉丝变现的另外一个渠道,那抖音具体的算法是什么样的呢? 抖音的流量分配是去中心化的。在微博和公众号上,如果你没有粉丝的话,你发的内容就不会有人看,但是抖音就不一样,你可以完全没有粉丝。所有的抖音用户,你拍的任何一个视频无论质量好坏,发布了之后一定会有播放量,从几十到上千都...

2020-11-18 09:35:17 4029 2

原创 (十八)深入浅出TCPIP之HTTP和HTTPS

专栏其他文章:理论篇:(一)深入浅出TCPIP之理解TCP报文格式和交互流程(二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上)(三)深入浅出TCPIP之再识TCP,理解TCP四次挥手(上)(四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析(五)深入浅出TCPIP之TCP流量控制(六)深入浅出TCPIP之TCP拥塞控制(七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制(八)深入浅出TCPIP之TCP长连接...

2020-11-17 18:20:22 255 1

原创 ncnn网络框架使用指南

下面以在ncnn上实现caffe网络模型为例,和大家分享下ncnn这个牛叉的网络框架的使用指南。准备caffe网络和模型caffe 的网络和模型通常是搞深度学习的研究者训练出来的,一般来说训练完会有train.prototxtdeploy.prototxtsnapshot_10000.caffemodel部署的时候只需要 TEST 过程,所以有 deploy.prototxt 和 caffemodel 就足够了alexnet 的 deploy.prototxt 可以在这里下载ht.

2020-11-13 10:22:58 2638

原创 深入浅出TCPIP之实战篇—用c++开发一个http服务器(二十一)

专栏其他文章:(一)深入浅出TCPIP之理解TCP报文格式和交互流程(二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上)(三)深入浅出TCPIP之再识TCP,理解TCP四次挥手(上)(四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析(五)深入浅出TCPIP之TCP流量控制(六)深入浅出TCPIP之TCP拥塞控制(七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制(八)深入浅出TCPIP之TCP长连接与短连接详解...

2020-11-12 13:32:23 5591 41

原创 (十五)非常全面的TCPIP面试宝典-进入大厂必备总结

TCP 作为传输层的协议,是一个IT工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。

2020-11-10 17:35:19 1563 7

原创 (十六)深入浅出TCPIP之Hello CDN

什么是CDNCDN 其实是 Content Delivery Network 的缩写,即“内容分发网络”。CDN是将媒体资源,动静态图片(Flash) ,HTML, CSS, JS等等内容缓存到距离你更近的互联网数据中心,从而让用户进行共享资源,实现缩减站点间的响应时间等等需求。CDN的起源CDN 诞生于二十多年前,随着骨干网压力的逐渐增大,以及长传需求的逐渐增多,使得骨干网的压力越来越大,长传效果越来越差。于是在 1995 年,MIT 的应用数学教授 Tom Leighton 带领着研究.

2020-11-06 15:02:49 507 1

原创 (十一)深入浅出TCPIP之TCP粘包问题

目录粘包和拆包问题保护消息边界和流粘包、拆包场景为什么会发生TCP粘包、拆包呢?如何处理粘包、拆包问题?怎样封包和拆包?其他问题TCP为什么引入接受缓存这个数据结构?专栏其他文章:理论篇:(一)深入浅出TCPIP之理解TCP报文格式和交互流程(二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上)(三)深入浅出TCPIP之再识TCP,理解TCP四次挥手(上)(四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析...

2020-11-05 16:42:44 646 1

原创 (七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制

TCP重传机制TCP要保证所有的数据包都可以到达,所以,必需要有重传机制。注意,接收端给发送端的Ack确认只会确认最后一个连续的包,比如,发送端发了1,2,3,4,5一共五份数据,接收端收到了1,2,于是回ack 3,然后收到了4(注意此时3没收到),此时的TCP会怎么办?我们要知道,因为正如前面所说的,SeqNum和Ack是以字节数为单位,所以ack的时候,不能跳着确认,只能确认最大的连续收到的包,不然,发送端就以为之前的都收到了。超时重传机制一种是不回ack,死等3,当发送方发现收不到3

2020-11-05 11:00:30 821 1

原创 (十三) 深入浅出TCPIP之TCP套接字参数

应用程序编写者只有在确切了解它的效果并确实需要的情况下,才设置TCP_NODELAY选项,因为设置后对网络性能有明显的负面影响。TCP_NODELAY是唯一使用IPPROTO_TCP层的选项,其他所有选项都使用SOL_SOCKET层。第二个参数level是被设置的选项的级别,如果想要在套接字级别上设置选项,就必须把level设置为 SOL_SOCKET。为了允许SO_LINGER,应用程序应将l_onoff设为非零,将l_linger设为零或需要的超时值(以秒为单位),然后调用setsockopt()。

2020-11-05 11:00:12 590 1

原创 (十四)深入浅出TCPIP之初识UDP理解报文格式和交互流程

目录关于UDP代码示例UDP数据报格式再次理解UDP数据包(1)UDP报文大小的影响因素,主要有以下3个(2) UDP数据包最大长度(3) UDP数据包理想长度UDP数据包的发送和接收问题(1) UDP的通信有界性(2) UDP数据包的无序性和非可靠性(3) UDP数据包的接收(4) UDP包分片问题UDP丢包问题[1] UDP socket缓冲区满造成的UDP丢包[2] UDP socket缓冲区过小造成的UDP丢包[3] ARP缓存过期导致

2020-11-02 17:20:44 1857 5

原创 (十二)深入浅出TCPIP之Nagle算法

TCP的数据流大致可以分为两类,交互数据流与成块的数据流。交互数据流就是发送控制命令的数据流,比如relogin,telnet,ftp命令等等;成块数据流是用来发送数据的包,网络上大部分的TCP包都是这种包。很明显,TCP在传输这两种类型的包时的效率是不一样的,因此为了提高TCP的传输效率,应该对这两种类型的包采用不同的算法。总之,TCP的传输原则是尽量减少小分组传输的数量。

2020-11-02 10:52:44 450 1

原创 (九)深入浅出TCPIP之网络同步异步

在网络同步中,有两种同步方式,分别为同步与异步。同步的操作指的是,当所有的操作请求都做完,才将结果返回给用户,用户才能进行下一个操作,这样就会让用户有一种卡顿的感觉,因为需要等待上一步操作的执行结果。异步操作指的是,用户的操作之间不需要进行等待,而是在服务端设置一个消息队列,保存用户的每一步的操作,因此用户不会有卡顿的感觉。

2020-10-31 11:31:05 1248 3

原创 (十)深入浅出TCPIP之网络阻塞和非阻塞

专栏其他文章:(一)深入浅出TCPIP之理解TCP报文格式和交互流程 (二)深入浅出TCPIP之再识TCP,理解TCP三次握手(上)(三)深入浅出TCPIP之再识TCP,理解TCP四次挥手(上)(四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析(五)深入浅出TCPIP之TCP流量控制(六)深入浅出TCPIP之TCP拥塞控制(七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制(八)深入浅出TCPIP之TCP长连接与短连接详解...

2020-10-31 11:27:59 1181 1

原创 (八)深入浅出TCPIP之TCP长连接与短连接详解

TCP 本身并没有长短连接的区别,长短与否,完全取决于我们怎么用它。

2020-10-30 18:48:16 1421 1

贝叶斯算法ppt课件下载

贝叶斯算法ppt课件

2024-09-18

ACM挑战程序设计竞赛C++习题和代码

项目为《挑战程序设计竞赛(第2版)》习题册攻略,已完结。可配合书籍或笔记,系统学习算法。 题量:约200道,代码注释内含详解。 难度:总体高于Leetcode,部分接近ACM。 内容: 包含:求两数最大公约数和最小公倍数。给出n,求不大于n的素数有多少个,贪心算法,背包问题,DFS+记忆化搜索,最短路径,最优路径,图,穷竭搜索,数论等多种常见的算法题

2024-09-11

Unity射击游戏开发教程的源码

Unity射击游戏开发教程的源码 使用unity开发的一款打飞机游戏,通过移动飞机,发射子弹来击落上方的移动目标飞机,目标飞机有简单的AI逻辑,代码的一些讲解从浅显易懂到不断地深入修改,我配套了相关的代码逻辑讲解博客 https://backend.blog.csdn.net/article/details/136804707 或者大家订阅我的专栏:https://blog.csdn.net/pbymw8iwm/category_7340539.html ,订阅专栏的用户可以后台留言,我免费发给订阅的用户

2024-09-09

PL/0 编译器的扩充-实验报告

# PL/0 编译器的扩充--实验报告 ## 一、实验目的与要求 对PL/0作以下修改扩充: (1)增加单词:保留字 ELSE,FOR,STEP,UNTIL,DO,RETURN 运算符 *=,/=,&,||,! (2)修改单词:不等号# 改为 <> (3)增加条件语句的ELSE子句,要求:写出相关文法,语法描述图,语义描述图。 ## 二、实验环境与工具 1、源语言:PL/0语言,PL/0语言是PASCAL语言的子集,它的编译程序是一个编译解析执行系统,后缀名为.PL0; 2、目标语言:生成文件后缀为*.COD的目标代码 3、实现平台:Borland C++ Builder 6 4、运行平台:Windows 7 64位 ## 三、结构流程 ### (1)PL/0 语言编译器 PL/0语言可看成是PASCAL语言的子集,它的编译程序是一个编译解释执行系统。PL/0的目标程序为假想栈式计算机的汇编语言,与具体计算机无关。 ![](jiegou.png) ## 四、实验过程 ### (一)增加单词:保留字 ELSE

2024-09-04

BERT: Pre-training of Deep Bidirectional Transformers forLanguag

BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding

2024-09-03

车牌识别算法C++项目源码

一、车牌识别流程 车牌定位-->车牌检测-->车牌字符识别 1.1 车牌定位 车牌定位,即定位到车牌在图片中的位置区域。 本文使用了两种方式:sobel定位和颜色定位,最后综合两种方式实现定位。 1.1.1 sobel定位 sobel定位步骤如下: 高斯模糊 灰度化 Sobel运算 --> 16位转8位 二值化 形态学操作(闭操作)求轮廓 尺寸判断(初步过滤掉不符合要求的矩形)矩形矫正(旋转角度、安全矩形处理、调整大小) 最后得到的是包含可能车牌的旋转后的矩形矩阵向量 1.1.2 颜色定位 RGB颜色空间转换为HSV颜色空间 HSV分离 二值化(V颜色空间) 形态学操作(闭操作) 求轮廓 尺寸判断(初步过滤掉不符合要求的矩形) 矩形矫正(旋转角度、安全矩形处理、调整大小) 最后得到的是包含可能车牌的旋转后的矩形矩阵向量 目录说明 svm_train目录下的是如何进行车牌识别训练的代码,resources/svm_train目录下是车牌识别的训练文件; ann_train目录 下是如何进行字符识别训练的代码,resources/ann_train目录下是字符识别的训练文件

2024-09-03

QT绘制中秋佳节的月亮阴晴圆缺动画

QT绘制中秋佳节的月亮阴晴圆缺动画, C++代码不到一百行代码 月球的变化情况: 月亮从上弦月到下弦月的变化过程涉及月相的顺序变化,这一过程是月球绕地球运动和地球绕太阳运动的结果。月相的变化主要包括以下几个阶段: ‌新月‌:这是月相变化的开始阶段,月球位于地球和太阳之间,地球上看不到月亮。 ‌蛾眉月‌:新月之后,月球开始露出一点亮面,形成蛾眉状的月相。 ‌上弦月‌:蛾眉月之后,月球的亮面逐渐增大,形成上弦月,此时月球的亮面朝西,凸面向东。 ‌满月‌:上弦月之后,月球的亮面继续增大,直到满月,此时月球的亮面全部朝向地球。 ‌亏凸月‌:满月之后,月球的亮面开始逐渐减小,形成亏凸月。 ‌下弦月‌:亏凸月之后,月球的亮面继续减小,形成下弦月,此时亮面朝东,凸面向西。 ‌残月‌:下弦月之后,月球的亮面进一步减小,形成残月。 ‌新月‌:残月之后,月球再次进入新月阶段,开始新一轮的月相变化。

2024-09-03

国庆特惠-世界国家名称及国旗数据

国家数据列表 [country_data, ...] countries_abb2.json 文件 以2位国家缩写为key的国家数据集合 {country_abb2 : country_data, ...} country_data 国家数据 { cn : 国家中文名称, en : 国家英文名称, full: 国家英文全称, abb2: 国家英文2位简称(大写), abb3: 国家英文3位 简称( 大写), code: 国家code数字(字符串) } example: { "cn" : "中国", "en" : "China", "full" : "the People's Republic of China", "abb2" : "CN", "abb3" : "CHN", "code" : "156" } countries_flags 国旗图片文件夹 以国家英文2位简称为图片名的国旗图片,包含全部主流国家,缺少几个小众国家的国旗图片。 图片绝大部分宽640px

2024-09-03

分类不锈钢板中的表面缺陷类型数据集

该数据集来自通信科学研究中心Semeion的研究。研究的最初目的是正确分类不锈钢板中的表面缺陷类型,以及六种可能的缺陷类型(加上“其他”)。 输入向量由27个指示符组成,这些指示符大致[描述]缺陷的几何形状及其轮廓。 根据研究论文,Semion是由Centro Sviluppo Materiali(意大利)委托完成的,因此无法提供有关用作输入向量的27个指标的性质或6类缺陷类型的详细信息。 数据说明 有34个字段。前27个字段描述了从图像中看到的某种钢板断层 X_Minimum X_Maximum Y_Minimum Y_Maximum Pixels_Areas X_Perimeter Y_Perimeter SumofLuminosity MinimumofLuminosity MaximumofLuminosity LengthofConveyer TypeOfSteel_A300 TypeOfSteel_A400 SteelPlateThickness Edges_Index Empty_Index Square_Index OutsideXIndex

2024-09-02

全国热门旅游景点数据集合excel

数据文档 背景描述 全国热门旅游景点数据,用于数据分析、可视化 数据说明 字段:城市、名称、星级、评分、价格、销量、省/市/区、坐标、简介、是否免费、具体地址 字段 数据类型 城市 string 名称 string 星级 string 评分 float 价格 float 销量 int 省/市/区 string 坐标 string 简介 string 是否免费 bool 具体地址 string 数据来源 数据来自:某平台爬取 问题描述 适用于分析: 1、全国景点分布 2、国民出游分析 3、假期出游建议 4、景区价格分析

2024-09-02

Acm 练习题集合 C语言开发

ACM练习题集合 总有些题目是你必须要自己要亲手去实践一遍的,不然的话,再简单的东西,你都是无法掌握的 三天不练手生,作为一个程序员,时刻保持对算法的高度灵敏是至关重要的 习题范围 基础的练习题 ACM的习题 算法入门的题 测试框架 采用GTest的框架【不用Main的原因很简单,不想写那么多的main,main在一个exe模块只有一个】

2024-08-29

Deep Learning From Scratch训练营学习笔记

《Deep Learning From Scratch训练营》 学习笔记 python语言 Softmax-with-Loss层的计算图.md 第1章Python 入门 第2章感知机 第3章神经网络. 第4章神经网络的学习. 第5章误差反向传播法. 第6章与学习相关的技巧. 第7章卷积神经网络. 第8章深度学习.

2024-08-29

2020年度大学生创新创业训练计划项目获推省级项目

2020年度大学生创新创业训练计划项目获推省级项目

2024-08-29

图书馆管理系统C++语言

图书馆管理系统需求 1、图书管理基本业务模拟 书的登记内容包括书号、书名、著作者、现存量和库存量; 建立索引表(线性表)以提高查找效率; a)采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; b)借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; c)归还:注销对借阅者的登记,改变该书的现存量。 主要功能如下: 输出形式:能按书号、书名、著作者查找库存的书籍信息 能按学生的借书证号显示学生信息和借阅信息 书籍入库 借书功能实现 还书功能实现 设计思想 后端数据处理 利用面向对象思想,实例对象书和学生,对两者附加相关方法和属性,同时使用XML对文件信息进行存储,方法为调用tinystr.h的一个xml读写库。之后将其封装为静态lib库进行接口调用 可视化实现 使用MFC进行窗口编写,实现图书馆可视化。 后端代码 注:首先在官网下载xml文件包,链接:https://sourceforge.net/projects/tinyxml/ 引入自己的库,然后开始实现接口,写好后端接口封装为lib静态库

2024-08-29

朴素贝叶斯机器学习分类器.doc

朴素贝叶斯机器学习分类器.doc

2024-08-26

智能汽车竞赛电路板资料总结

智能汽车竞赛电路板资料总结 电路板的注意事项总结

2024-08-26

大模型训练结果-汽车识别 car.om

大模型训练结果-汽车识别 car.om,识别率在90%以上,可通过threshhold来进一步进行识别率校准判断。

2024-08-26

回合制卡牌战斗游戏服务器架构和业务源码(跨平台,框架和主逻辑C++,登录支付php)

有看不懂代码的可以私聊作者,必回复(代码是作者写的,所以底层框架,主逻辑都明白) 1.回合制卡牌战斗服务器源码,底层库包含常用的工具类,线程库,网络库,数据库操作,主逻辑。 2.服务器架构分为登录支付的web服务器,gateway网关服务器,gameserver游戏逻辑服务器,game server连接mysql数据库,所有的战斗,地图中的任务移动计算都由服务器计算和判断,最后将战斗结果以战报的形式发给客户端来表现。 3.游戏的核心玩法为卡牌收集,九宫格的回合制战斗,包含了装备系统,背包系统,成就系统,排行榜,竞技场,工会,工会战斗,世界boss,活动,签到,任务系统,邮件系统,其他丰富的副本推进玩法,已上线经过验证的项目。 4.单个服务器8G内存,4核CPU的配置可承载两个区,每个区负载六千人同时在线

2024-08-22

基于MindX SDK 开发,使用yolo算法来进行目标检测的python代码

本项目是使用MindX SDK 开发,在arm芯片上进行目标检测,将检测结果保存成json对象并通过redis的发布订阅通道通知给订阅者。 项目主要流程为:通过拉流输入视频,然后进行视频解码将 H.264 格式的视频解码为图片,图片缩放后经过模型推理进行火焰和烟雾,人物,汽车,佩戴安全帽,异物检测,空载检测,识别结果经过后处理后利用 cv 可视化识别框,如果检测到烟雾和火灾进行告警。 样例配套的 CANN 版本为 [5.0.4] ,MindX SDK 版本为mxVision-5.0.1。 MindX SDK 安装前准备可参考《用户指南》 (https://gitee.com/ascend/mindxsdk-referenceapps/blob/master/docs/quickStart/1-1安装SDK开发套件 工程目录如下图所示: ``` ├── envs │   └── env.sh //基础环境变量 ├── images //ReadMe图片资源 │   └── image-flow.png ├

2024-08-19

K-means聚类算法

K-means:k-均值算法(英文:k-means clustering),属于比较常用的算法之一,文本首先介绍聚类的理论知识包括什么是聚类、聚类的应用、聚类思想、聚类优缺点等等;然后通过k-均值聚类案例实现及其可视化有一个直观的感受,针对算法模型进行分析和结果优化提出了二分k-means算法。最后我们调用机器学习库函数,很短的代码完成聚类算法。

2024-08-19

mxVision-5.0.1打包下载,华为服务器arm环境

mxVision-5.0.1打包下载,华为服务器arm环境 bin/ config/ filelist.txt include/ lib/ opensource/ operators/ python/ samples/ set_env.sh* toolkit/

2024-08-16

yolov8的入门级(训练+预测)的代码demo

yolov8的入门级(训练+预测)的代码demo(目标检测/实例分割/关键点检测........) 1.install 安装torch+torchvision,torch官网有可选配置的安装指令提供,以及Previous versions提供https://pytorch.org/ 安装ultralytics pip install ultralytics 安装习惯的图像处理安装包处理result pip install 。。。。。 2.数据集标注 工具:labelme pip install labelme 2.训练(train.py) 三种任务的训练代码都非常简单。 首先都是载入模型,yolov8+n/s/m/l/x 是不同级别的目标检测预训练模型,后面+‘-seg’是实例分割模型,后面+‘-pose’是关键点检测模型,因为后两者都是基于目标检测的所以都会自动先加载目标检测模型。 3.预测(predict.py) from ultralytics import YOLO # Load a model model = YOLO('yolov8n.pt') # load an o

2024-08-14

神经网络学习资料整理从入门到精通

基础教程 实践案例 实践项目 内容 1.Python与基础知识 2.神经网络基本原理 3.神经网络高级模型 4.经典机器学习算法 5.现代软件工程 6.人工智能系统 自然语言理解 快速构建中文文本蕴含深度学习模型 智能对联 计算机视觉 看图识熊 漫画翻译 手写数字识别 语音 文本朗读应用 决策 黄金点游戏

2024-08-14

golang开发使用mongodb统计数据并输出到excel中

本代码使用的是mongodb从指定的数据库中分页查找数据,并自定义excel表格的格式,根据需要输出的格式将结果按照列来更新

2024-08-12

海康ISAPI开发指南-音频产品-广播音频输出

海康ISAPI开发指南_音频产品_广播音频输出 海康的SDK 对于部分系统架构支持不是特别好,比如音柱声音告警的功能,他在arm架构下不支持,这个也是官方给我的回复,因此我选择使用ISAPI来开发,通过调用http访问接口来完成对SDK的调用

2024-08-12

rollercoaster-dataset过山车数据集下载

过山车数据库 该数据包含有关 1000 多个过山车的信息。信息是从维基百科抓取的。 数据集是csv格式的,包含过山车名称 长度 过山车的长度(英尺或米)(原始文本) 速度 速度(英里/小时或公里/小时)(原始文本) 地点 过山车的位置或停放地点 地位 过山车运行状况 开幕日期 杯垫的启用日期(原始文本) 类型 杯垫的材质类型 制造商 杯垫制造商 身高限制 乘坐身高限制 模型 杯垫模型

2024-08-09

海康音柱服务调用C++工程

使用C++开发,直接使用的是ISAPI调用来根据不同的告警类型播放不同的告警音乐,其中告警类型和对应的音乐名称是走配置的,而且音乐文件是提前通过音柱网页端后台上传好的,代码里会根据当前的告警类型和音柱客户端将告警音乐播放。 跨平台开发,支持linux,windows平台,http服务负责接收http客户端的告警请求,收到告警请求之后放到子线程队列中排队,子线程依次将告警音乐进行播放。

2024-08-05

育龄人群备孕胎次与避孕方式数据集

.育龄人群备孕胎次与避孕方式数据集.国家人口健康科学数据中心数据仓储PHDA, 育龄人群备孕胎次与避孕方式数据集收集了2010年-2014年31个省、直辖市、自治区及新疆建设兵团的备孕夫妇胎次与采用避孕方式的信息。数据资料包括基础人口学信息、孕产史信息、避孕方式、避孕措施持续使用时间及目前是否停用的信息等。本数据集可用于头胎备孕人群及二胎及以上胎次备孕人群的避孕方式横断面调査分析以及我国青龄人口避孕方式构成情况的时间变化趋势分析等。 育龄人群备孕胎次与避孕方式数据集

2024-07-25

糖尿病并发症预警数据集

糖尿病并发症预警数据集 糖尿病是一种代谢紊乱性疾病,其发病率已在全球呈持续上升的趋势。和心脑血管疾病等其他慢性非传染病一样,I型糖尿病是种多因素疾病,其危险因素包括遗传、社会、生活方式和环境等多方面。预防控制糖尿病的关键是采取综合的预防治疗措施,而评估疾病的危害程度和控制疾病的危险因素则是糖尿病防治的重要前提。因此,掌握尿病患病和死亡情况,了解其危险因素的分布及其规律,可以为采取预防和控制糖尿病发生发展、提高尿病患者生存质量的措施提供决策依据。 本数据兼容性良好,基础表格处理软件便可运行。具体数据挖掘工具依据用户需要而定 中国人民解放军总医院提供

2024-07-25

海康相机算法检测SDK的C++开发项目源码

本源码是商业化的源码,源码使用C++调用海康的SDK(支持跨平台的,本项目中包含了Win64和arm环境的SDK,如果需要支持其他系统的SDK,也可以支持,直接从官网下载对应系统版本的库,放到thirdparty\sdk目录下,有疑问无条件支持集成),源码中包含了自动解析相机的rtsp流地址(或者你自己配置相机登陆用户名和密码,host,端口),登陆相机之后,封装了调用接口API的方法,实现了获取相机能力,修改相机算法参数的功能,实现了火点检测和告警,温度检测和告警的逻辑。 本源码在开发使用中基本上就直接可以套用,在使用过程中有任何崩溃或者bug,都可以联系我,我将无偿修复解决。

2024-07-22

yolov5的人脸检测工具C++开发

yolov5的人脸检测工具C++开发

2024-06-25

【go从入门到精通】rpc和grpc的使用-客户端代码

【go从入门到精通】rpc和grpc的使用

2024-06-17

一个简单的grpc开发demo

一个简单的grpc开发demo

2024-06-17

docker配置和安装使用说明

docker配置和安装使用说明 1、docker安装与启动 2、镜像的获取与容器的使用 3、持久化容器与镜像 4.一些使用技巧

2024-06-17

aarch64-linux-gnu环境opencv4.5.5交叉编译库

opencv4.5.5交叉编译库 aarch64-linux-gnu环境,该压缩包包含了头文件和动态库,其中动态库包含软连接,对于开发者而言,可以直接引入即可,不需要再花费时间编译了。

2024-06-06

opencv跨平台编译库

本压缩包使用的是opencv4.5.5编译的,交叉编译环境为aarch64-gnu.toolchain 使用的编译器版本为:gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu 最后生成的是一个so库和include头文件,压缩包解压后保存软连接

2024-05-31

反光衣检测识别yolo模型

反光衣检测识别yolo模型

2024-05-21

yolo车辆识别检测模型

yolo车辆识别检测模型 car.bmodel 通过yolo训练得到的模型文件

2024-05-21

使Unity开发的游戏支持热更新的解决方案

JEngine 是专为 Unity 开发人员设计的开箱即用框架。它封装了强大的功能。初学者也可以快速上手,轻松创建可在运行时更新的游戏。 该master分支是开发者认为可以正常使用的最新版本,不会有太多问题。推荐使用,功能最强大(同时修复了旧版本的bug); 该0.7.x分支目前被大多数商业项目使用,它是2022年最受欢迎的版本,具有各种有用和高性能的功能,该分支将不再更新或维护(该分支有完整的文档,但官方教程视频很少); 该0.6.x分支已被大多数商业项目使用,内容完整,文档和视频充足,不会再更新或维护; 该0.5.x分支正在被一些商业项目使用,不会更新或维护; 依赖关系 ILRuntime v2.1.0 - 在运行时执行 C# 代码 YooAssets v1.4.10 - 在运行时更新资源 Unity-Reorderable-List v1.0.1 - 附加编辑器检查器工具

2024-05-15

2048微信小游戏代码下载

该程序主要难度在用户滑动屏幕时值相同的cell合并 将空格标为0(我代码中是用的""表示空格),假设棋盘如下: - 0 2 0 2 - 0 0 0 0 - 0 0 0 2 - 0 0 0 0 ### 步骤 - 通过touch相关的事件函数确定用户滑动方向 - 将棋盘的数字生成4*4的二维数组list - 根据用户滑动方向生成四个小数组,比如用户将上面的棋盘向右滑动,则四个数组为: > item[0] = [2, 0, 2, 0]; > item[1] = [0, 0, 0, 0]; >item[2] = [2, 0, 0, 0]; // 注意是2000而不是0002,因为是向右滑动要从右边开始 > item[3] = [0, 0, 0, 0]; - 接下来就是滑动时合并,拿item[0]举例,如果是2020,向右滑动我们应该成为0004 >- 将item[0]的所有0移到末尾变为2200,遍历item将相同的下标值相加,后面的数置为0 >- 2020 ---> 2200 ---> 4200 ----> 4000 - 如法炮制就可以实现滑动时合并

2024-05-15

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

TA关注的人

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