mvvm light

C#使用Emgu CV来进行图片人脸检测

℡╲_俬逩灬. 提交于 2021-02-15 03:53:51
项目需求:某市级组织考试,在考试前需审核考生采集表中的考生照片是否合格,由于要审核的考生信息采集表有很多,原先进行的是手动人工审核,比较费时费力,审核的要求也很简单,并不判断考生是否是图片本人(身份验证有另外一套程序来进行),只是看考生采集表中考生头像是否是人脸(是否存在辨识不清楚,不是人脸)。因此提出需求,看是否能用程序来检测考生信息采集表中的照片,只需找出来疑似不是人脸的考生所在文档位置(pdf文档)即可,存疑的考生再由人工进行审核。 PDF文档中有很多页,每一页都是如图中的结构。 经过百度摸索,采用了C#+WPF+Spire.PDF+Emgu CV+MvvmLight来进行人脸判断的技术选型。 Emgu CV(https://sourceforge.net/projects/emgucv/files/emgucv/)是.NET平台下对OpenCV图像处理库的封装,也就是.NET版的 OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。Emgu CV官方带的有训练过的人脸识别模板,可以直接使用。 Spire.PDF可以来读取PDF文档,同时可以读取到PDF文档中的图片。

LiveChart应用笔记-为图表添加图例,并添加隐藏曲线功能

点点圈 提交于 2021-01-26 08:52:27
本文主要介绍为LiveChart图表添加自定义图例,并实现曲线隐藏功能。其中,图例中的直线样式与图表中的曲线样式进行了绑定。 第一步。添安装LiveChart.wpf 包、引入命名空间等前期准备 xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 第二步。添加测试曲线 为曲线绑定数据源及加载请参考 LiveChart应用笔记-折线图添加任意数据 <lvc:CartesianChart Margin="20"> <!--LegendLocation="Top"--> <lvc:CartesianChart.Series> <lvc:LineSeries x:Name="TestSeries" Title="测试曲线" Style="{StaticResource AssistLineChartSeriesStyle}" Stroke="{StaticResource Lime500SolidColorBrushStyle}" Fill="#55cddc39" StrokeDashArray="15 1 1 1" Values="{Binding

MVVMLight学习笔记(二)---MVVMLight框架初探

可紊 提交于 2020-12-19 04:53:03
一、MVVM分层概述 MVVM中,各个部分的职责如下: Model: 负责数据实体的结构处理,与ViewModel进行交互; View: 负责界面显示,与ViewModel进行数据和命令的交互; ViewModel: 负责前端视图业务级别的逻辑结构组织,并将其反馈给前端。 二、MVVMLight框架初探 通过NuGet安装MVVM Light 框架后,我们新建的Wpf项目中会自动生成一个ViewModel文件夹,里面有MainViewModel.cs和ViewModelLocator.cs两个文件。 下面我们就首先分析下这两个文件的内容: MainViewModel.cs文件分析: MainViewModel.cs文件中只有一个类MainViewModel,该类是主窗口MainWindow对应的ViewModel,继承自类ViewModelBase ViewModelBase类又继承类ObservableObject,同时实现ICleanup接口 ObservableObject类实现INotifyPropertyChanged接口,用于通知属性的改变 由此分析,我们可以得出以下一般结论: 当我们定义一个自己的ViewModel时,一般让自定义ViewModel继承自ViewModelBase类,这样当ViewModel中属性发生变化的时候,就可以自动通知对应的VIew。

MVVMLight 错误

老子叫甜甜 提交于 2020-12-19 02:37:41
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 CS0234 命名空间“Microsoft”中不存在类型或命名空间名“Practices”(是否缺少程序集引用?) 1. MVVMLight使用nuget安装会报如下错误 2. 解决方法 删除命名空间 using Microsoft.Practices.ServiceLocation; 然后使用Ctrl + . 给 ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); 重新引用命名空间,即可解决问题 来源: oschina 链接: https://my.oschina.net/u/4692982/blog/4673500

MVVM、MVVMLight、MVVMLight Toolkit之我见

╄→гoц情女王★ 提交于 2020-12-19 01:59:30
原文: MVVM、MVVMLight、MVVMLight Toolkit之我见 我想,现在已经有不少朋友在项目中使用了MVVMLight了吧,如果你正在做WPF,Silverlight,Windows Phone的开发,那么,你有十分必要的理由了解MVVM和MVVMLight。我写这篇文章的目的,是给大家做一个总结,以便更多的朋友了解并掌握MVVM。 首先,要说一下MVVM的概念。 MVVM严格来说,并不是一种框架,而是一个设计的模式吧 。与它有关的设计模式还有MVC (现在广泛用于Web应用中),以及MVP(之前有用过在Windows Forms和WPF中) 如果你希望对MVVM有更加感性地认识,我推荐你看下面这篇文章。 http://www.codeproject.com/KB/WPF/WpfMvvmQuickStart.aspx 这篇文章写得实在太好了,我很欣赏这样的技术人才,能把一个抽象问题有层次地讲清楚。(我强烈建议对MVVM的概念了解不深的朋友,认真读这篇文章,而不要急于用MVVMLight,因为MVVM是一种模式,而MVVMLight只是其中一种具体的实现) 然后,我要说一下MVVMLight吧,刚才说了,它是一种MVVM的实现。自然它不是唯一的一种实现,但现在 大家公认的是,它是比较好的一个实现 。就我个人的体会来说,我以前用过微软提供的Prism中的MVVM特性

关于职业选择的问题

筅森魡賤 提交于 2020-10-22 07:39:11
这篇文章缘起今天早上的一条微博,在软件行业打拼多年,现在也遇到了职业选择的困惑。由于昨天刚发布完项目,今天相对来说比较闲一点,所以来博客园凑凑热闹! 在开始今天的问题之前先谈谈我们现在所开发的项目: 由于不是核心部门,所以这个项目只是提供给其他部门的一个工具——管理和分析所有的数据并用图形化的形式展示出来,同时提供一系列的报表。 团队情况: 4个Developer(1人在澳洲,其他三人在新加坡),一个项目经理和一个产品经理都在新加坡,用户在美国。 开发模式: Agile(一个Phase包含若干Sprint,2-4个礼拜为一个Sprint)。 团队协作:与用户的交流主要靠Meeting,通常在星期二或者星期四早上进行,由于时差关系,所以早上五点钟出发到公司参加Meeting。开发者之间的协作比较自由,完全Agile。 开发流程:完全按照微软Agile标准,Phase Start==>Sprint Start==>Requirement==>Development==>SIT==>UAT==>Prod==>Sprint Closed==>Phase Closed 第一个版本 主要技术:.NET 4.0 , WCF, Silverlight, C#, TSQL, SharePoint, IIS 8, Cloud Computing (SQL Azure). 第二个版本 主要技术:.NET

学习英文之社区,博客及源码

南笙酒味 提交于 2020-10-12 18:35:31
前言(Introduction) 前些天写了一篇《 程序猿也爱学英语(上),有图有真相 》,大概介绍了我学英语的一些基本资料以及心得体会,先后从发音(Pronunciation, 基本常用单词积累(Vocabulary), 新概念英语(New Concept English), 究竟需不需要学语法(English Grammar?), 走遍美国(Family Album U.S.A.), 常用英语(Daily English Situations), 老友记/六人行(Friends),享受英语的乐趣(Enjoy English)等进行了一些论述。 在写作这几篇《程序猿也爱学英语,有图有真相》文章的过程中,发生了两件比较重要的事情: 1. 在我的强烈推荐下,老婆也爱上了看《老友记》。因为是无字幕版的,刚开始的时候,她听不太懂,但是到了第三季的时候就慢慢爱上了它。现在她把一到十季整整看完一遍了,期间整个房间都是她的欢声笑语!借此机会也想对其他有同样问题的朋友说:“坚持就是胜利!” 2. 经过几个月的努力,老婆终于找到自己满意的工作!对于这个Offer,可以说是来之不易,因为老婆没有任何跨国公司的经验且才来新加坡几个月,所以对她来讲是完全在一个不熟悉的英语环境,而且还要面对各种面试,其中的辛酸苦辣我也看在眼里,痛在心底。作为老公,希望她的工作一切顺利! 扯远了,回归正题,

【WPF】影城售票客户端的技术框架

痞子三分冷 提交于 2020-04-28 18:49:27
前言 影城客户端从16年底开始设计到现在都过去快两年了,这里我做一个简单的回顾。 技术选型 NativeUI:性能最高,开发难度最大,代表产品QQ和微信,没有基因没有技术栈。 Electron+H5:不支持xp,使用xp的电脑在影城中还存在50%以上,只能否决。 NWJS+H5:总体上比Electron差一些,但是支持xp,因为存在性能,操作体验,安装包庞大等问题,被钉钉弃用。 NativeUI+CEF+H5:hybird框架,将性能要求高的UI用C++写,变化频繁的用h5写,钉钉客户端最新采用的技术框架。网易云音乐客户端也是类似框架。也没有技术栈。 WinForm:.Net平台下的两大UI框架之一,具有开发简单,轻量,性能高等优点,但是有自定义UI难度高,微软停止更新等缺点。 WPF:.Net平台下的两大UI框架之一,具有现代化的UI界面和比较先进的MVVM编程思想。公司上代产品使用的技术,具有广泛的实践经验,读卡和打印等类库可以直接继承使用。这是最不容易采坑的技术方案。 当时公司的战略是用迅雷不及掩耳之势打下云售票这片新市场,一边要和时间赛跑,一边要保证产品质量和功能,需要开发节奏要快,狠,准,所以综上所述,最终沿用WPF技术开发新产品。 一个优秀系统架构应该是具有高可扩展性、高内聚、低耦合等特点,在经历了各版本的变更之后依然保持着清晰、灵活、稳定的系统架构