聚合文章列表
3 浏览

【转】Kinect尝鲜(1)——第一个程序

作者自转,原文链接:http://blog.csdn.net/nmlh7448...曾经微软宣传Kinect宣传的很火,但一直没有舍得买一台。第一次接触是在某个Hackathon上,想做一个空气鼠标的项目,借助Kinect实现的,感觉这个产品挺惊艳。最近想方设法借到一台一代的KinectforWindows,还有微软官方的开发书籍(《Kinect应用开发实战——用最自然的方式与机器对话》),略研究了下Kinect的开发。环境配置关于Kinect的介绍网上有很多资料,这里不再赘述。既然是开发微软自家的产品,肯定要上微软全家桶,VS2015(C#)+SDKV1.8+DevelopertoolkitV1.8。其中SDK可以直接在微软官网上下载,除了官方SDK,还有其它的SDK,我不是很了解,所以不敢妄言介绍。一代Kinect有windows和Xbox360两个版本,windows版本的Kinect前面写着“Kinect”,而Xbox360版本前面写着“Xbox360”,xbox版的连接电脑需要有转接线,但是很诡异的是我曾经

c# 2017-03-07 发布
1 浏览

那是一个阳关明媚的早晨

unity3d学习线路入门引擎概述编辑器地形编辑器脚本资源导入导出五大系统全局光照音效系统动画系统例子系统物理系统GUI与系统部署NGUIUGUI产品部署进阶渲染与ShaderAssetBundle编辑器扩展网络通讯性能优化

c# 2017-03-08 发布
8 浏览

【转】Kinect尝鲜(2)——骨骼识别

作者自转,原文链接http://blog.csdn.net/nmlh7448...正文上一篇文章简单说了一些关于Kinect彩色图像和深度图像的处理。直接处理彩色数据流和深度数据流来写一些应用是比较困难的,所以微软在SDK中已经封装好了骨骼识别模块。虽说是骨骼识别,其实识别出来的是关节,骨骼可以当作两关节的连线。通过该模块,我们可以轻易获取关于人体各个关节的3D位置及其坐标,藉此可以轻松开发出一些需要体感识别的应用。其实骨骼识别更加简单,通过微软的SDK,我们仅仅要做的就是调用。微软这么做的好处就是开发者可以减少花费在底层、图像处理等方面的时间,专注于自己的应用逻辑,快速开发出有趣或实用的应用。为了学习骨骼识别,我写了一个仅获取头部位置的一个Demo。为了标记出识别出的头的位置,需要在该坐标位置画点什么,在这里我用了一张滑稽。上一篇显示骨骼图像的colorImage是Image控件,它本身也可以绘图,但效率略低。所以本篇利用Canvas控件。没错,和HTML5中的Canvas画布控件是类似的,我们可以在该画布上绘制彩色图像和滑稽。

c# 2017-03-10 发布
AD 友情赞助
5 浏览

Kinect尝鲜(3)——轮询模型

在《Kinect尝鲜(1)》中提到了Kinect程序的两种模型——事件模型和轮询模型。其中事件模型是通过C#的事件与委托的编程方式,在Kinect采集完成一帧的数据后触发某事件,通过该事件委托的方法完成相关的数据处理。而轮询模型则是将控制权还给应用程序,由应用程序向Kinect主动去“要”数据。事件模型的开发难度教低,同时限制也比较大;而轮询模型则更高效,更适合多线程应用程序。事件模型privatevoidStartKinect(){if(KinectSensor.KinectSensors.Count<=0){MessageBox.Show("NoKinectdevicefoound!");return;}_kinect=KinectSensor.KinectSensors[0];_kinect.ColorStream.Enabl(ColorImageFormat.RgbResolution640x480Fps30);

c# 2017-03-11 发布
1 浏览

〔译〕C# 7 的新特性

原文:What'snewinC#72016-12-21译者注:原文于2016年12月发表,当时VisualStudio2017还是15Preview5,不过直到VS2017它们仍然没什么变化。C#7中添加了不少语言特性:out变量你可以在向方法传入参数的时候定义out变量元组(Tuples)可用于创建轻量、无名称、包含多个公共字段的类型。编译器和IDE工具知道这些类型的语义。模式匹配基于任意类型和它们的值创建逻辑分支。定义为ref的局部变量和返回值方法参数和局部变量可以在其它位置引用局部函数可以在函数中嵌入函数定义,嵌入函数受外部函数作用域和可见性限制。更多成员可使用表达式语法可使用表达式编写的成员列表已经得到扩充。throw表达式你可以在代码结构中抛出异常,而在之前因为它是语句,做不到这一点。异步返回类型泛型化使用async定义的方法可以返回除Task和Task<T>之外的类型了。改善数

c# 2017-03-11 发布
4 浏览

C# 7.0 的新特性(速览版)

《〔译〕C#7的新特性》花了很大的篇幅来介绍C#7.0的9个新特性,这里我根据项目经验,通过实例对它们进行一个快速的介绍,让大家能在短时间内了解它们。总的来说,这些新特性使C#7.0更容易以函数式编程的思想来写代码,C#6.0在这条路上已经做了不少工作,C#7.0更近一步!表达式everywhereC#6.0中,可以对成员方法和只读属性使用Lambda表达式,当时最郁闷的就是为什么不支持属性的set访问器。现在好了,不仅set方法器支持使用Lambda表达式,构造方法、析构方法以及索引都支持以Lambda表达式方式定义了。classSomeModel{privatestringinternalValue;publicstringValue{get=>internalValue;set=>internalValue=string.IsNullOrWhiteSpace(value)

c# 2017-03-11 发布
AD 友情赞助
3 浏览

关于通过webclient和JSON格式报文与服务器之间通讯的解决方法和遇到的难题

话说做这个很久了,不过我比较磨洋工。所以托了很久,今天才真正跑通了整个流程。一开始老师要我做的时候,我有点没明白意思,后来看了msdn后明白了不少。我要做的是用一句话来概括就是,通过JSON来与后台的J2EE通讯,操作数据。但就是这样一个简单的任务,我大概有认真做了一个礼拜吧。下面说说主要的实现方法:首先我们要提到webclient这个类,这是system自带的一个模仿web浏览器的类,用它来模仿POST访问(其实还能GET、PUT、DELETE)。具体的思路是:首先实体化一个webclient,打开端口下载或者上传JSON字符串,然后通过绑定实体类的方法来序列化或者反序列化JSON报文,最后做到我们需要的数据操作。具体代码如下:1、首先我们需要绑定实体类,之后用微软的自带类库来解析(也可以用JSON.NET这个开源的第三方类库,不过有些方法我还不懂)[DataContract]publicclassjsontext{[DataMember(Order=0,

c# 2017-03-22 发布
5 浏览

Code Hunt 刷题记录

CodeHunt是微软研究院推出的一个教育类编程游戏站点。游戏玩家,也称为“代码猎人”,可选择Java或C#编程语言,需要必须在游戏发现补上缺失的代码片段。放假无聊在家做了两个chapter,语言选的C#,纯属娱乐:)00.01帮你熟悉使用CodeHunt平台的基本操作00.02publicclassProgram{publicstaticintPuzzle(intx){returnx+1;}}00.03publicclassProgram{publicstaticintPuzzle(intx){returnx*2;}}00.04publicclassProgram{publicstaticintPuzzle(intx,inty){returnx+y;}}01.01publicclassProgram{publics

c# 2017-04-03 发布
3 浏览

2017 年初、阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集(更新篇)

欢迎Follow我的GitHub,关注我的CSDN.其余参考Android目录.已同步微信公众号:猛戳这里本文在我的微信公众号:原创杨守乐首发。转载请标明出处谢谢:http://blog.csdn.net/xiaole03...;本文由:【吧主的博客】分享推荐阅读:如果你喜欢上了一个程序员小伙,献给所有的程序员女友2017年初、阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集(更新篇)学习资料(干货汇集)不断更新【更新于2017-2-25】AndroidStudio2.3正式起航(玩爆AndroidStudio2.3必备)是什么让你决定离开一家公司?同时收到多家公司offer,怎样选择?前言:前一段时间和大牛们交流了一下,据反馈现在Android岗位也没有以前那么多了,没这么好找了,面临2016年寒冬季节,大量公司模仿O2O模式导致死掉企业的很多,在加之培训机构大量的培训人,导致供大于求,当然这不意味着饱和,只是市场更趋于合理一些(只要技术好不用怕的)。最近结合一些面试的同学和大牛们(张旭童)反馈,前几天听童哥去阿里面试顺便

c# 2017-04-23 发布
AD 友情赞助
3 浏览

递易技术部平台开发代码规范

命名命名采取驼峰式,例如:AccountName,“A”和“N”大写,不要使用下划线。命名包括变量、函数、参数,类等命名要能很好的表述其承载的业务。要名副其实,不存在歧义,要直截了当。例子:函数和参数publicAccountEntityQueryAccountDetailById(intaccountId):根据用户ID获取用户详情变量intuncheckProductAmount:未确认的产品数量(注:变量首字母小写)类publicclassAccountCacheBiz:用户缓存逻辑类(注:Biz表示业务逻辑)函数一个函数在于短小精悍,只作一件事情,并做好这件事。只做一件事才能得到更好的利用函数名表述自己。函数的参数应该足够的少,无最好,一次之,再次为二,尽量避免三个以及三个以上。对于太多的参数可能该采用IntroduceParameterObject(引入参数对象)。杜绝重复代码,不要对一段代码进行拷贝操作,这样意味着日后维护需要更新多个地方,肯定会出现遗漏,留下隐患。避免返回NULL

c# 2017-04-27 发布
3 浏览

从国企到阿里的面试经历(一)

读完本文需要3分钟。首先,跟大家说声抱歉,年后实在是太忙,带娃、录视频、换工作,大堆事情挤在一起,一不小心就断更了4个月,实在是对不起一直以来支持我的朋友们。从今天开始,我尽量坚持月更,分享最干的干货给大家,老斯基又要开始飙车了,请坐稳!!!(其实我的内心是想周更的,但阿里工作实在太忙,连月更都挤不出时间,好在加班使我快乐,555)背景介绍首先,介绍背景。劼哥stone乃大龄国企c#码农一枚,虽然内心一直向往着bat,但总是觉得自己的技术水还不够,所以一直不断的提升自己,等待机会。3月初,一个和我关系不错的阿里朋友,在内网看到一个c#开发专家的岗位,挺适合我,便问我有没有兴趣。虽然我很感兴趣,但怕自己的能力不够,有些顾虑。转念一想,就算面不上,也能了解自己在哪些方面还有欠缺,便下定决心去试试。由于自己近5年都没有面试经历,所以特别缺乏相关经验,在准备自己的简历时,感觉非常难受,不知从何下手。经过了2个多星期的准备,才把简历递交给朋友帮我内推。(朋友鄙视我比国足还难出活)虽然简历顺利的通过了,但一直等

c# 2017-05-01 发布
2 浏览

如何创建Overlay Icon(覆盖图标)

介绍何为OverlayIcon(覆盖图标),如果你有用过Github,SkyDrive,Dropbox,TortoiseSVN中的一款或者多款产品,就可以在相关的同步文件夹中看到文件夹和文件的图标上会有相关状态(新增、修改等)状态的显示,如下图所示。而显示这个状态用到的就是在Windows中注册的OverlayIcon。本文就是介绍如何创建自己的OverlayIcon,以实现自己的功能。开发方式有两种开发方式,用C++ATL开发需要手动在程序中编写相关的注册表,调试也有一些难度;用C#调SharpShell来实现会方便很多,且有相关的调试工具。C++ATL编写动态链接库由于开发相对耗时,本次并未采用此种开发方式C#使用SharpShell编写类库本节内容有参考.NETShellExtensions-ShellIconOverlayHandlers,对其作者,也是SharpShell的开发者DaveKerr表示感谢!1.新建VisualC#项目,选择“类库”2.添加对SharpShell

c# 2017-05-03 发布
AD 友情赞助
2 浏览

C#给自动属性设置默认值

//1.publicintX{get;set;}=100;//2.如果.net版本不支持的话,就改回常规的属性写法privatestringname=”我是默认值”;publicstringName{get{returnname;}set{name=value;}}原文链接

c# 2017-05-05 发布
8 浏览

腾讯云语音合成TTS

腾讯云语音合成C#示例语音合成官方API文档按着官方文档的顺序开始写吧。一、请求url拼接首先的坑点就是url必须是按升序排列进行拼接,不然接下来的鉴权肯定失败基础链接:https://aai.qcloud.com/tts/v1/<appid>?参数:{"projectid":"0","sub_service_type":"0","speech_format":"mp3","volume":"3","person":"0","speed":"0","secretid":"AKIDlfdHxN0ntSVt4KPH0xXWnGl21UUFNoO5","timestamp":"1484109983","expired":"1484113583","nonce":"1675199141"}这里以<appid>=20170111,<SecretKey>=oaYWFO70

c# 2017-05-07 发布
12 浏览

C#属性和lamda

方法形式:privateboolIsStackFull(){returnStackPointer>=MaxStack;}属性形式:privateboolIsStackFull{get{returnStackPointer>=MaxStack;}}····lamda形式boolIsStackFull=>StackPointer>=MaxStack;

c# 2017-05-07 发布
10 浏览

JavaScript算法 ,Python算法,Go算法,java算法,C#算法系列之插入排序

常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:插入排序插入排序(英语:InsertionSort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。算法步骤将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)2动图演示JavaScript代码实现functioninsertionSort(arr){varlen=arr.length;v

c# 2017-05-11 发布
11 浏览

Visual Studio 2017 针对移动开发的新特性介绍

VisualStudio是世界上最好的IDE之一,如果是.NET世界,那就没有之一了(^_^),而最近推出的VisualStudio2017在移动平台方面更是加强了这一点。这个版本包含了一些非常棒的功能,包括实时单元测试、新的重构、代码提示、C#7.0的支持,以及帮助移动开发人员构建更好的移动应用程序的功能。下面,就让我们一起来看看VisualStudio2017中有哪些功能使得移动开发变得更加容易。VisualStudio2017的安装体验有所提升VisualStudio团队提升了VisualStudio2017这个版本的整体安装体验。新的安装过程更加直观并且触摸友好,最重要的是我们通过仅选择所需的工具,就能实现较低的磁盘占用。我们可以选择最适合我们需求的功能,例如移动开发只需要包含.NET,UWP或.NETCore就可以。只安装所需的组件,能将下载和最终安装尺寸保持在最小状态。你可以比以前更快地入手,另外需要确保你安装的部分,只包含你最开始时所需的功能。添加了新的项目模板许多移动应用程序的核心只是简单的从w

c# 2017-05-17 发布
21 浏览

[译] 从不同的抽象层次理解单一职责原则

在二十世纪初的某个地方,广为人知的UncleBob——罗伯特·马丁(RobertC.Martin)第一次提出了面向对象设计的五大原则——SOLID原则。SOLID是这五大原则单词首字母的缩略词,其中的每个字母代表着不同的原则:S-SingleResponsibilityPrinciple-单一职责原则O-OpenClosePrinciple-开闭原则L-LiskovPrincipleofSubstitution-里式替换原则I-InterfaceSegregationPrinciple-接口隔离原则D-DependencyInversionPrinciple-依赖倒置原则这些原则是面向对象程序设计的骨架,并且是制定高品质和可维护代码的关键。在五大原则的第一条——单一职责原则中,UncleBob将《关于将系统分解为模块的标准》和《关于科学思想的作用》两篇论文的观点结合起来,得出了关于SRP(单一职责原则)的定义:TheSingle

c# 2017-06-03 发布
27 浏览

C#期末作业——学生成绩管理

作业要求学生成绩管理(1)classStudent{intid;stringname;intscore;Studentnext;}(2)用链表或系统List类实现。用数组实现也可(上限100条记录)?(3)增:检查学号无重复(4)删:若输入整数则按学号定位要删除的记录;若输入字符串则按姓名(可缩写)定位要删除的记录技巧:先按字符串读入到临时变量,检查其是否含有数字,便知是学号还是姓名。(5)改:若输入整数则按学号定位要修改的记录;若输入字符串则按姓名(可缩写)定位要修改的记录(4)、(5)若因为姓名缩写导致多于一条记录,拒执行并报错。修改时,逐一字段进行下列操作:(a)显示字段名和当前值(b)输入该字段的新值。如果只敲回车不输入新值,则该字段不修改,保持当前值不变。技巧:先按字符串读入到临时变量,检查其长度是否为0,便知需不需要覆盖原值。(6)查:输入格式为:字段名关系运算符查询值例如,score&g

c# 2017-06-13 发布
26 浏览

谈谈爬虫的相关技术

什么是爬虫我们先看看维基百科的定义网络爬虫(英语:webcrawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。通俗的说爬虫就是通过一定的规则策略,自动抓取、下载互联网上网页,在按照某些规则算法对这些网页进行数据抽取、索引。 像百度、谷歌、今日头条、包括各类新闻站都是通过爬虫来抓取数据。题外话博客园里偶尔看到爬虫的文章,其实很多都称不上为爬虫。只能叫玩具或者叫http请求下载程序吧。。严格来说爬虫是一个系统,它包含了爬取策略、更新策略、队列、排重、存储模块等部分。爬虫的分类按照抓取网站对象来分类,可以分为2类爬虫。1.通用爬虫类似百度、谷歌这样的爬虫,抓取对象是整个互联网,对于网页没有固定的抽取规则。对于所有网页都是一套通用的处理方法。2.垂直爬虫这类爬虫主要针对一些特定对象、网站,有一台指定的爬取路径、数据抽取规则。比如今日头条,它的目标网站就是所有的新闻类网站。比如Etao比价、网易的慧慧购物助手,他们的目标网站就是淘宝、京东、天猫等等电商网站。

c# 2017-06-19 发布
AD 友情赞助