C#封装YOLOv4算法进行目标检测
C#封装YOLOv4算法进行目标检测
概述
官网:https://pjreddie.com/darknet/
Darknet:【Github】
C#封装代码:【Github】
YOLO: 是实现实时物体检测的系统,Darknet是基于YOLO的框架
采用C#语言对 YOLOv4 目标检测算法封装,将模型在实际应用系统中落地,实现模型在线远程调用。
环境准备
本章只讲解如何对YOLOv4封装进行详 ...
[03] C# Alloc Free编程
C# Alloc Free编程
首先Alloc Free这个词是我自创的, 来源于Lock Free. Lock Free是说通过原子操作来避免锁的使用, 从而来提高并行程序的性能; 与Lock Free类似, Alloc Free是说通过减少内存分配, 从而提高托管内存语言的性能.
基础理论
对于一个游戏服务器来讲, 玩家数量是一定的, 那么这些玩家的输入也就是一定的; 对于每 ...
C#-特性(Attribute)
概念
特性是一种允许我们向程序的程序集添加元数据的语言结构,它是用于保存程序结构信息的某种特殊类型的类。可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。MSDN解释为:特性提供功能强大的方法,用以将元数据或声明信息与代码(程序集、类型、方法、属性 ...
如何编写高质量的C#代码(一)
从”整洁代码“谈起
一千个读者,就有一千个哈姆雷特,代码质量也同样如此。
想必每一个对于代码有追求的开发者,对于“高质量”这个词,或多或少都有自己的一丝理解。当我在长沙.NET技术社区群抛出这个问题时,众说纷纭。有人说注释齐全、可读性高,就是高质量;有人说变量命名、代码层次清晰,就说高质量的代码;有人说 ...
C#-索引器
概念
索引器(Indexer) 允许类中的对象可以像数组那样方便、直观的被引用。当为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。可以使用数组访问运算符([ ])来访问该类的实例。索引器的行为的声明在某种程度上类似于 ...
[C#.NET 拾遗补漏]08:强大的LINQ
大家好,这是 [C#.NET 拾遗补漏] 系列的第 08 篇文章,今天讲 C# 强大的 LINQ 查询。LINQ 是我最喜欢的 C# 语言特性之一。
LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询。它为查询跨各种数据源和格式的数据提供了一致的模型,所以叫集成查询。由于这种查询并没有制造新的语言而只是在现有 ...
C#-接口(Interface)详解
定义
在 C# 语言中,类之间的继承关系仅支持单重继承,而接口是为了实现多重继承关系设计的。一个类能同时实现多个接口,还能在实现接口的同时再继承其他类,并且接口之间也可以继承。无论是表示类之间的继承还是类实现接口、接口之间的继承,都使用“:”来表示。
接口定义了属性、方法和事件,这些都是接口的成员。接口只 ...
快醒醒,C# 9 中又来了一堆关键词 init,record,with
一:背景
1. 讲故事
.NET5 终于在 2020-08-25 也就是大前天发布了第八个预览版,这么多的预览版搞得我都麻木了,接踵而来的就是更多的新特性加入到了 C# 9 中,既然还想呆在这条船上,得继续硬着头皮学习哈,这一篇跟大家聊聊新增的几个关键词。
二:新增关键词
1. init
出来一个新语法糖,首先要做的就是去揭它的老底,这 ...
欢迎来到 C# 9.0(Welcome to C# 9.0)
C# 9.0 已于 2020年11月10日 正式发布了,请点击链接转至 C# 9.0 正式发布了(C# 9.0 on the record) 阅读最新版内容。
https://www.cnblogs.com/ittranslator/p/13961608.html
翻译自 Mads Torgersen 2020年5月20日的博文《Welcome to C# 9.0》,Mads Torgersen 是微软 C# 语言的首席设计师,也是微软 .NET 团队的项 ...
C#分布式登录——jwt
一、传统的session登录
在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这就是传统的基于session认证。
在asp.net core中可以简单实现:
1 // This method gets called by the runtime. ...
一文说通C#中的异步编程
天天写,不一定就明白。
又及,前两天看了一个关于同步方法中调用异步方法的文章,里面有些概念不太正确,所以整理了这个文章。
一、同步和异步。
先说同步。
同步概念大家都很熟悉。在异步概念出来之前,我们的代码都是按同步的方式写的。简单来说,就是程序严格按照代码的逻辑次序,一行一行执行。
看一段代码:
pu ...
用c#自己实现一个简单的JSON解析器
一、JSON格式介绍
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。相对于另一种数据交换格式 XML,JSON 有着很多优点。例如易读性更好,占用空间更少等。在 web 应用开发领域内,得益于 JavaScript 对 JSON 提供的良好支持,JSON 要比 XML 更受开发人员青睐。所以作为开发人员,如果有兴趣的话,还是应该 ...
C# 人脸识别库 0.2
ViewFaceCore 0.2
超简单的 C# 人脸识别库
前言:
首先谢谢大家对这个库的关注,前一篇博文得到了大家的 支持 和 Star,十分开心。本想尽快实现大家的期待的活体检测功能,但是前段时间太忙了,是在抱歉!!!
⭐、GitHub & Important
本次更新的内容在 antispoofing 分支 上。
活体检测需要&nb ...
你真的清楚DateTime in C#吗?
DateTime,就是一个世界的大融合。
日期和时间,在我们开发中非常重要。DateTime在C#中,专门用来表达和处理日期和时间。
本文算是多年使用DateTime的一个总结,包括DateTime对象的整体应用,以及如何处理不同的区域、时区、格式等内容。
一、什么是DateTime
跟我们想的不一样,DateTime不是一个类(class),而是一 ...
C#各类集合介绍
集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。
平常在工作中List<T>集合是用的最多的,其次是Array(数组).今天整理一下各类形式的集合,不用就容易忘,必须要记录一下.
Array
Array:在内存上是连 ...
C# 跨平台UI 技术
构建跨平台应用程序的的几种UI技术,以C# 或者其他基于.NET的 语言(诸如:Visual Basic[VB])。本文研究了三种跨平台技术,并讨论了在哪些情况下开发人员可以使用这些技术。本文使你对可以用于C#中构建前端应用程序的技术有一个基本了解,并将回答诸如哪些平台可用的问题。那它可以在浏览器中运行吗?它会具有原生的外观和 ...
利用FlubuCore用C#来写DevOps脚本
前言
随着近些年微服务的流行,有越来越多的开发者和团队所采纳和使用,它的确提供了很多的优势也解决了很多的问题,但是我们也知道也并不是银弹,提供优势的同时它也给我们的开发人员和团队也带来了很多的挑战。
为了迎接或者采用这些新技术,开发团队需要更加注重一些流程或工具的使用,这样才能更好的适应这些新技术所带 ...
C#使用FFmpeg的总结
上篇文章提到FFmpeg解决项目中视频和语音问题,说道C#和FFmpeg不得不提的2个类库。
1、Xabe.FFmpeg
简单查看了下源码和demo,发现基于ffmpeg.exe的命令行参数进行处理。
2、FFmpeg.AutoGen
把C语言对外API和类型翻译成C#的API和对象。
看了一下这个源码生成,其中使用了CppSharp来生成g.cs的文件,然后在编译g.cs文件。
这2类 ...
C#状态机Stateless
最近在折腾一些控制相关的软件设计,想起来状态机这个东西,对解决一些控制系统状态切换还是挺有用的。
状态机(有限状态自动机)网上有很多介绍。简单理解就是定义一系列状态,通过一系列的事件,可以使得状态可以相互之间切换。
如果不使用状态机的思想来编程,那么针对过程的编程方法会使得程序拓展性变差,并且不容易调 ...
C# 从1到Core--委托与事件
委托与事件在C#1.0的时候就有了,随着C#版本的不断更新,有些写法和功能也在不断改变。本文温故一下这些改变,以及在NET Core中关于事件的一点改变。
一、C#1.0 从委托开始
1. 基本方式
什么是委托,就不说概念了,用例子说话。
某HR说他需要招聘一个6年 .NET5 研发经验的“高级”工程师,他想找人(委托 ...