- 博客(35)
- 收藏
- 关注
原创 go随聊-非常快的son解析包
A high-performance 100% compatible drop-in replacement of "encoding/json"吐槽一下,这么NB了一个logo都没有:)How to getgo get github.com/json-iterator/goUsage100% compatibility with standard lib和标准包完全兼容...
2018-10-31 10:49:51 2567
原创 go随聊-map
定义map并初始化,根据key获取valueitems := map[string]string{ "id1": "1", "id2": "2", "id3": "3",}v:= items["id2"]fmt.Println(v)通过make进行构建 items:=make(map[string]string,10)i
2018-10-31 19:22:42 161
原创 go随聊-web框架gin
Gin Web Framework Gin 是一个 Golang 写的 web 框架,具有高性能的优点,基于 httprouter,它提供了类似martini但更好性能(路由性能约快40倍)的API服务。自身的net/http足够简单,Gin更像是一些常用函数或者工具的集合。借助Gin开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。https://g...
2018-10-31 18:45:38 1029
原创 go随聊-sync.WaitGroup
GO提供了sync包和channel来解决协程同步和通讯。新手对channel通道操作起来更容易产生死锁,如果时缓冲的channel还要考虑channel放入和取出数据的速率问题。sync.WaitGroup是等待一组协程结束,它实现了一个类似任务队列的结构,你可以向队列中加入任务,任务完成后就把任务从队列中移除,如果队列中的任务没有全部完成,队列就会触发阻塞以阻止程序继续运行。本...
2018-10-31 10:20:19 415
原创 go随聊-xml读取
XML的读取假设本地xml文件config.xml<?xml version="1.0" encoding="UTF-8"?><Message Version="1.0"> <Item key="Channel" value="gin"/> <Item key="Filter&quo
2018-10-30 19:23:42 233
原创 go随聊-一个比较好用的json处理包(Jeffail/gabs)
本文介绍一个开源的json处理包Gabs is a small utility for dealing with dynamic or unknown JSON structures in golang. It's pretty much just a helpful wrapper around the golang json.Marshal/json.Unmarshal behavio...
2018-10-30 19:00:26 1363
原创 go随聊-strconv包
Package strconv strconv是golang用来做数据类型转换的一个库1.Append类型的方法func AppendInt(dst []byte, i int64, base int) []byteb1 := []byte("追加")b1 = strconv.AppendInt(b1, -17, 10) //17用10进制方式加到后面fmt.Println(...
2018-10-30 12:43:26 167
原创 人脸抓拍-技术点
人脸抓拍系统基本框架对于普通相机接入方式要么是RTSP方式,要么是直接调用相机厂家SDK。目前大多数相机厂家SDK都能够取流并解析出帧数据。获取到帧数据后就需要进行人脸检测、跟踪。人脸检测、跟踪后获取最佳人脸,将最佳人脸进行人脸属性及质量分析,得到结构化数据。最佳人脸获取策略视频ROI设置对于大部分应用,并非视频所有区域都会有过人出现,所以设置ROI区域有2个好处:...
2018-10-30 11:15:08 4112
原创 人脸抓拍-概述
人脸抓拍人脸抓拍即实时分析视频流,针对视频中每个人脸出一张或多张质量比较好的人脸图片,目前的人脸抓拍系统都有如下功能:非抓拍相机接入。 抓拍相机接入。 实时视频解码。 实时人脸检测、跟踪。 实时人脸分析(人脸属性、人脸质量分、人脸特征提取)。 抓拍人脸及结构数据保存。 抓拍人脸及结构数据推送。 ...
2018-10-30 10:58:44 3137 1
原创 go随聊-反射reflect
reflect即反射。对于C++程序员来说比较陌生,对于Java或是C#程序员来说理解反射就易如反掌了。golang中为我们提供了reflect包用于反射。package reflect接下来就要介绍golang中的reflect package了。reflect包有两个数据类型,一个是Type,一个是Value。 1.Type就是定义的类型的一个数据类型2.Value是值的类...
2018-10-30 10:37:16 484
原创 go随聊-闭包
什么是闭包 闭包就是一个匿名函数和一个外部变量(成员变量)组成的一个整体 ,通俗的讲就是一个匿名函数中引用了其外部函数内的一个变量而这个变量和这个匿名函数的组合就叫闭包。如下代码所示:func inner() func() int { count:=0 return func() int { count++ return count }}inner函数中...
2018-10-26 16:59:19 178
原创 redis源代码编译、启动、停止
下载源代码直接在官网https://redis.io/下载最新源代码,本文下载源代码 redis-5.0.0.tar.gz,解压后目录如下:编译源代码在目录中运行:$make程序编译完成后在src目录中会有这几个文件redis-cli、redis-server。在主目录中建一个bin文件夹,把如下文件拷贝到bin文件中$cp redis.conf bin/$cp ...
2018-10-26 10:37:10 1727
原创 linux下端口号查看
1.查看端口占用情况netstat -ntlp|grep 端口$netstat -ntlp|grep 7100$tcp6 0 0 :::7100 :::* LISTEN 155045/./appserver2.查看某个端口的连接数netstat -antlp |grep 端口号...
2018-10-25 18:32:43 516
原创 人脸识别12-人脸搜索(安防应用)
安防应用以上是比较典型的安防人脸检索应用,目前的安防摄像机大多不带人脸抓拍功能,需要使用专门的人脸抓拍服务器进行人脸抓拍,抓拍后的人脸才能进行人脸检索。所有抓拍的人脸及属性汇聚到平台,形成结构化数据。 ...
2018-10-25 16:05:05 872 1
原创 go随聊-chan使用的坑
Go中chan是分阻塞和非阻塞(带缓冲)的创建非缓冲的chanch:=make(chan int)ch<-1fmt.Println("run")运行会报:fatal error: all goroutines are asleep - deadlock! 因为这种方式创建的是非缓冲的chan创建带缓冲的chanch:=make(chan int,1)ch<...
2018-10-24 18:58:07 852
原创 ActiveX 网页播放控件
最近在搞视频监控项目,需要在网页上显示实时视频,于是网上找了很多资料研究如何在网页上播放视频,一种实现方式就是开发activex控件嵌入到网页中。如下我将介绍如何开发一个可以分屏播放视频的activex控件 (部分内容也是从网上抄的,感谢各位劳动人民:))创建ActiveX工程(使用VS2008)1.选择“文件”菜单,然后选择“新建”->“项目”。2.在“新建项目...
2018-10-23 14:23:27 3638 6
原创 haproxy
Haproxy haproxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。haproxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。haproxy的社区非常活跃,版本更新快速(最新稳定版1.7.2于2017/01/13推出)。最关键的是haproxy具备媲美商用负载均衡器的性能和稳定性。因为haproxy的上述优点,它当前不仅...
2018-10-23 14:09:08 237
原创 人脸识别11-人脸搜索(系统)
系统框架 人脸搜索平台一般都是设计为分布式的,因为单机引擎始终都有人脸数上限,目前大多数引擎单机都只能检索5亿级别以内的人脸,如果需要处理10亿、20亿甚至更多就需要进行分布式设计了。分库原则 单机处理能力有上限(如单机只能处理5000W人脸的检索),人脸库单库非常大时(比如需要进行1.5亿人脸检索),单机必然无法处理,所以系统将待检索的人脸库抽象为...
2018-10-23 13:55:33 4205
原创 人脸识别10-人脸搜索(建模)
人脸建模 人脸搜索的前提是要对待搜索的库进行建模,人脸搜索并不是比对图片数据而是比对特征距离。应用层需要对人脸数据库进行一定的设计。通常人脸库需要包含如下字段:描述信息:通常是人脸的标识,如身份证号、电话号、员工号等等。质量分:作用主要是记录当前人脸属性相关信息,如水平角度、偏转角度、人脸质量等,后续对于检索时可以根据条件来判断是否过滤该人脸。人脸图片保存有两个作...
2018-10-22 18:41:06 1476
原创 人脸识别9-人脸搜索(概述)
人脸搜索 给定一张照片,与指定人脸库中的N个人脸进行比对,找出最相似的一张脸或多张人脸。 根据待识别人脸与现有人脸库中的人脸匹配程度,返回用户信息和匹配度,即1:N人脸检索。可用于用户身份识别、身份验证相关场景。一般人脸搜索的步骤:给定一批人脸图片及标签。 对给定的人脸图片预先进行批量建模。 对于后续添加或删除的人脸可以进行增量建模。 检索。所以对于应用层来说其实...
2018-10-22 17:49:53 2918
原创 人脸识别7-人脸图片相似度
人脸图片相似度 两张图片相似度比对如“人证合一”场景,其实并不是直接对图片数据进行比较,而是对两张图片分别进行人脸建模特征提取,然后把两个特征进行相似度比对。用户输入的图片不一定是正面人脸,所以在进行人脸检测的时候需要对图片进行正面检测,如下:典型的银行业人脸比对场景 ...
2018-10-19 11:48:21 6279 5
原创 人脸识别6-人脸特征与特征相似度
人脸特征相似度 人脸特征之间可以进行比较获取相似度,从而判断2个特征对应的是不是同一个人。因为特征是建模后的数据,所以2个特征比较耗时会非常少。有的应用场景中可以提前将待比较的人脸图片先进行特征提取,后续只是拿来用即可。典型的银行业人脸比对场景 有些银行自己会维护客户注册的人脸照片,那么他们可以提前对人脸图片进行建模,后续进行人证合一时,只需要用特征和现...
2018-10-19 11:34:34 7191
原创 人脸识别5-人脸建模
人脸建模 人脸建模又可以称为人脸特征提取,建模后会生成一个二进制数组即"人脸特征","人脸特征"主要用于后续的人脸比对或者人脸检索用。人脸建模主要流程如下:建模过程主要包括:人脸检测 关键点获取 人脸对齐 特征提取 ...
2018-10-19 10:35:55 64288 1
原创 人脸识别4-属性分析(年龄、性别)应用
属性分析应用广告精准投放及行人关注度统计1.人脸检测:广告机前置摄像头实时采集广告机前的行人人脸。2.人脸属性分析:分析检测出的行人人脸年龄、性别。3.广告推送:根据分析出的年龄、性别推送相应的广告内容。4.行人关注度统计:通过人脸跟踪或其他算法分析每个行人停留时间,从而统计出每个行人对推送广告的关注度。...
2018-10-19 10:27:11 2701
原创 人脸识别2-去网纹
去网纹 很多机构为了安全性会在人脸图片上叠加网纹,使用方获取人脸图片的时候并不会获取原始图片,而是获取的叠加了网纹后的图片。某些场合需要对网纹照进行去网纹操作。 ...
2018-10-15 12:00:59 1122 2
原创 人脸识别1-人脸检测
人脸检测 检测并定位图片中的人脸,返回高精度的人脸框坐标。 常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸、图像内容相关。开发过程中,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、或“人脸数量上限”的方式来加速算法。 ...
2018-10-15 11:40:47 618
原创 easyui-修改window title
修改window title<div id="wndClusterTps" class="easyui-window" title="TPS显示"></div> $('#wndClusterTps').panel({ title:"修改title", });
2018-10-12 14:51:16 1667
原创 go随聊-uuid生成
本文介绍一个go 生成UUID的包UUID package for Go languageThis package provides pure Go implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs.Installationgo ...
2018-10-10 19:10:34 856
原创 go随聊-IP地址合法性判断
IP地址合法性判断判断IP地址是否是xxx.xxx.xxx.xxx:port代码package helperimport ( "net" "regexp" "strings")func HostAddrCheck(addr string) bool { items:=strings.Split(addr,":") if items==nil||len(items)...
2018-10-10 18:56:26 5137
原创 go随聊-随机数包fastrand
fastrandgo get github.com/NebulousLabs/fastrandfastrand implements a cryptographically secure pseudorandom number generator. The generator is seeded using the system's default entropy source, and...
2018-10-10 18:42:21 2065
原创 go随聊-临时对象池sync.Pool
sync.Pool 一个sync.Pool对象就是一组临时对象的集合。Pool是协程安全的。Pool用于存储那些被分配了但是没有被使用,而未来可能会使用的值,以减小垃圾回收的压力。我们可以把sync.Pool类型值看作是存放可被重复使用的值的容器。此类容器是自动伸缩的、高效的,同时也是并发安全的。Pool定义type Pool struct { func (p ...
2018-10-10 18:35:01 752
原创 GO设计模式3-策略模式
策略模式 所谓策略其实就是做一件事情有很多很多的方法,比如说一个商场要搞促销,促销的方式有可能有很多:打折啊,满100返50啊、积分等等之类的。这种不同的促销方式在我们系统中表示就是一个一个的策略,并且策略是可以随时更换的,这个时候在设计系统时就可以使用策略模式。策略定义type Strategy interface{ Process(param string) st...
2018-10-08 14:38:13 406
原创 GO设计模式2-观察者模式
观察者模式 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。观察者定义type Observer interface{ Notify(param string)}观察者实现type OneObserver struct...
2018-10-08 14:15:04 368
原创 GO设计模式1-单例模式
单例模式 单例模式是一种常用的软件设计模式,在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一类只有一个实例而且该实例易于外界访问,从而达到使用目的,同时还能方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。单例定义var ( once sync.Once instance *Singl...
2018-10-08 13:55:28 155
1.8 Golang to build a real-time interactive SaaS Cloud - 董海冰.pdf
2024-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人