漳州做网站设计/seo创业

漳州做网站设计,seo创业,凡科h5制作教程,luolibobo wordpress先展示效果 AForge介绍 AForge是一个专门为开发者和研究者基于C#框架设计的, 也是NET平台下的开源计算机视觉和人工智能库 它提供了许多常用的图像处理和视频处理算法、机器学习和神经网络模型,并且具有高效、易用、稳定等特点。 AForge主要包括: 计算机视觉与人…

先展示效果 

AForge介绍

AForge是一个专门为开发者研究者基于C#框架设计的, 也是NET平台下的开源计算机视觉和人工智能库
它提供了许多常用的图像处理视频处理算法、机器学习和神经网络模型,并且具有高效、易用、稳定等特点。

 AForge主要包括:

计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等

  • AForge.Imaging ——日常的图像处理和过滤器
  • AForge.Vision —— 计算机视觉应用类库
  • AForge.Neuro —— 神经网络计算库AForge.Genetic -进化算法编程库
  • AForge. MachineLearning —— 机械学习类库
  • AForge. Robotics —— 提供一些机器学习的工具类库
  • AForge.Video —— 一系列的视频处理类库
  • AForge.Fuzzy —— 模糊推理系统类库
  • AForge.Controls —— 图像, 三维, 图表显示控件

AForge的使用方向 

1. 基于符号识别的3D显示增强技术

2. 基于模糊系统的自动导航

3. 运动检测

4. 2D增强技术

5. 计算机视觉与人工智能

6. 模拟识别

7. 神经网络

8. 图像处理

9. 遗传算法

10. 机器学习

11. 机器人控制等等

 AForge的安装方法

1.右键项目名

2.打开 "管理 NuGet程序包"

3.点击浏览 在浏览上输入 "AForge",并下载

注意:作者一般都是 aforge.net

4.全部下载之后,他会在你的winfrom的左边框会自动显示 

一、下面是我做的一个相机拍摄小项目

 

1.我们先把页面搭好, 上面的字都是lable弄的不是textbox

控件: label  button  comboBox  picture  timer   VideoSourcePlayer

注意:  VideoSourcePlayer 是 我们下载的那个控件里的(AForge.NET)

 2. 拉一个label , 右下角属性  

label 的 属性

  • Auto ==>False     
  • BorderStyle ==> Fixed3D   
  • TextAlign==>MiddleCenter  
  • ForeColor==>Red   
  • BackGround==>Black

3.最上面时间的显示

注意:这里是timer的控件一个点击事件

timer的Enable  属性  修改成  True

 #region 显示实时时间private void timer1_Tick(object sender, EventArgs e){DateTime dt=DateTime.Now;this.txtYear.Text = dt.Year.ToString();this.txtMonth.Text = dt.Month.ToString();this.txtDay.Text = dt.Day.ToString();this.txtTime.Text=dt.ToLongTimeString();string week = "";switch(dt.DayOfWeek){case DayOfWeek.Sunday:week = "日";break;case DayOfWeek.Monday:week = "一";break;case DayOfWeek.Tuesday:week = "二";break;case DayOfWeek.Wednesday:week = "三";break;case DayOfWeek.Thursday:week = "四";break;case DayOfWeek.Friday:week = "五";break;case DayOfWeek.Saturday:week = "六";break;default:break;}this.txtWeek.Text = week;}#endregion

4.我们要把最基本的 给完善了,把该定义的全部完成,窗体加载我们要提前实例化相机

  private FilterInfoCollection filterInfoCollection;  //摄像头设备集合private VideoCaptureDevice videoCapture;//捕捉设备源private Bitmap image=null; //设置图片接收的int Isopen = 0;  private void Form1_Load(object sender, EventArgs e){filterInfoCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice);//MessageBox.Show($"检测到了{filterInfoCollection.Count.ToString()}个摄像头");//这下面的for循环是为了检测电脑连接几个相机 ,来吧相机数量写在combobox控件下for(int i = 0; i < filterInfoCollection.Count; i++){comboBox1.Items.Add($"摄像头{i}");}}

5.下拉框(ComboBox)索引选择改变

 CloseCamera(); //这个先提前关闭相机, 下面有介绍if (comboBox1.SelectedIndex == 0 && filterInfoCollection.Count > 0){videoCapture = new VideoCaptureDevice(filterInfoCollection[0].MonikerString);}else if (comboBox1.SelectedIndex == 1 && filterInfoCollection.Count > 1){videoCapture = new VideoCaptureDevice(filterInfoCollection[0].MonikerString);}else{MessageBox.Show("摄像头选择有误", "错误提示");return;}videoSourcePlayer1.VideoSource=videoCapture;videoSourcePlayer1.Start();

二、简化封装:相机关闭,相机连接(实时显示),保存图片

1.连接相机

  #region 连接相机private void ConnCamera(){if(filterInfoCollection.Count>0){ videoCapture = new VideoCaptureDevice(filterInfoCollection[0].MonikerString);videoSourcePlayer1.VideoSource= videoCapture;videoSourcePlayer1.Start();}}#endregion

2.关闭相机

 #region 关闭相机private void CloseCamera(){if(videoSourcePlayer1.VideoSource!=null){videoSourcePlayer1.SignalToStop();videoSourcePlayer1.VideoSource.Stop();videoSourcePlayer1.VideoSource = null;}}#endregion

3.保存图片

 #region 保存图片private void SaveImage(){var date = DateTime.Now.ToString("yyyy-MM-dd");date += "-" + DateTime.Now.TimeOfDay.ToString("hhmmss");if(!Directory.Exists("D:\\Saved_Pictures")){Directory.CreateDirectory("D:\\Saved_Pictures");}image.Save(string.Format("D:\\Saved_Pictures\\" + date + ".jpg", date), System.Drawing.Imaging.ImageFormat.Png);}#endregion

三、实现相机拍照,相机实时显示(打开),图片保存功能,窗体关闭

1.打开相机(实时显示)

 private void takeCamera_Click(object sender, EventArgs e){if(((uint)filterInfoCollection.Count)==0){MessageBox.Show("检测不到你的摄像头", "错误提示");}else{Isopen++;if(Isopen%2!=0){takeCamera.Text = "关闭摄像头";ConnCamera();}else if(Isopen%2==0){takeCamera.Text = "打开摄像头";CloseCamera();}}}

2.相机拍照

 private void takephoto_Click(object sender, EventArgs e){image=videoSourcePlayer1.GetCurrentVideoFrame();pictureBox1.SizeMode=PictureBoxSizeMode.Zoom;pictureBox1.Image= image;}

3.图片保存

   private void SavePicture_Click(object sender, EventArgs e){if(pictureBox1.Image!=null){SaveImage();}else{MessageBox.Show("请先进行拍照", "相机拍照");}}

4.窗体关闭

    private void Form1_FormClosing(object sender, FormClosingEventArgs e){if(MessageBox.Show("将要关闭窗口,是否继续?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes){e.Cancel=false;CloseCamera();Application.Exit();}else{e.Cancel = true;}}
}

补充: 窗体的关闭方法;窗体跳转文件夹

1.关闭窗体的多种方法

1. this.Close() ;

只是关闭当前窗口,如果不是主窗体的话,它后台还会再运行,是无法推出主程序的。

2.Application.Exit();

强制所有消息中止,退出所有的窗口,但是有托管线程,也无法干净退出

3.Applicat.ExitThread();

强制中止调用线程上的所有消息,同样面临其他线程无法正确退出问题

4.System.Environment.Exit(0);

这是彻底的强制退出,能把程序结束很干净

2.跳转功能

由于一般程序保存图片后都会有个跳转功能,这个我感觉保存后跳转,他就不是一个功能了,这里给大家写一下怎么去跳转。

 System.Diagnostics.Process.Start("D:\\Saved_Pictures");

注意: 括号里面是路径 

四、完结:代码展示和结果

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using AForge.Video.DirectShow;namespace Camera
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private FilterInfoCollection filterInfoCollection;  //摄像头设备集合private VideoCaptureDevice videoCapture;//捕捉设备源private Bitmap image=null;int Isopen = 0;#region 显示实时时间private void timer1_Tick(object sender, EventArgs e){DateTime dt=DateTime.Now;this.txtYear.Text = dt.Year.ToString();this.txtMonth.Text = dt.Month.ToString();this.txtDay.Text = dt.Day.ToString();this.txtTime.Text=dt.ToLongTimeString();string week = "";switch(dt.DayOfWeek){case DayOfWeek.Sunday:week = "日";break;case DayOfWeek.Monday:week = "一";break;case DayOfWeek.Tuesday:week = "二";break;case DayOfWeek.Wednesday:week = "三";break;case DayOfWeek.Thursday:week = "四";break;case DayOfWeek.Friday:week = "五";break;case DayOfWeek.Saturday:week = "六";break;default:break;}this.txtWeek.Text = week;}#endregionprivate void Form1_Load(object sender, EventArgs e){filterInfoCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice);//MessageBox.Show($"检测到了{filterInfoCollection.Count.ToString()}个摄像头");for(int i = 0; i < filterInfoCollection.Count; i++){comboBox1.Items.Add($"摄像头{i}");}System.Diagnostics.Process.Start("D:\\Saved_Pictures");}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){CloseCamera();if (comboBox1.SelectedIndex == 0 && filterInfoCollection.Count > 0){videoCapture = new VideoCaptureDevice(filterInfoCollection[0].MonikerString);}else if (comboBox1.SelectedIndex == 1 && filterInfoCollection.Count > 1){videoCapture = new VideoCaptureDevice(filterInfoCollection[0].MonikerString);}else{MessageBox.Show("摄像头选择有误", "错误提示");return;}videoSourcePlayer1.VideoSource=videoCapture;videoSourcePlayer1.Start();}#region 关闭相机private void CloseCamera(){if(videoSourcePlayer1.VideoSource!=null){videoSourcePlayer1.SignalToStop();videoSourcePlayer1.VideoSource.Stop();videoSourcePlayer1.VideoSource = null;}}#endregion#region 连接相机private void ConnCamera(){if(filterInfoCollection.Count>0){ videoCapture = new VideoCaptureDevice(filterInfoCollection[0].MonikerString);videoSourcePlayer1.VideoSource= videoCapture;videoSourcePlayer1.Start();}}#endregion#region 保存图片private void SaveImage(){var date = DateTime.Now.ToString("yyyy-MM-dd");date += "-" + DateTime.Now.TimeOfDay.ToString("hhmmss");if(!Directory.Exists("D:\\Saved_Pictures")){Directory.CreateDirectory("D:\\Saved_Pictures");}image.Save(string.Format("D:\\Saved_Pictures\\" + date + ".jpg", date), System.Drawing.Imaging.ImageFormat.Png);}#endregionprivate void takeCamera_Click(object sender, EventArgs e){if(((uint)filterInfoCollection.Count)==0){MessageBox.Show("检测不到你的摄像头", "错误提示");}else{Isopen++;if(Isopen%2!=0){takeCamera.Text = "关闭摄像头";ConnCamera();}else if(Isopen%2==0){takeCamera.Text = "打开摄像头";CloseCamera();}}}private void takephoto_Click(object sender, EventArgs e){image=videoSourcePlayer1.GetCurrentVideoFrame();pictureBox1.SizeMode=PictureBoxSizeMode.Zoom;pictureBox1.Image= image;}private void SavePicture_Click(object sender, EventArgs e){if(pictureBox1.Image!=null){SaveImage();}else{MessageBox.Show("请先进行拍照", "相机拍照");}}private void Form1_FormClosing(object sender, FormClosingEventArgs e){if(MessageBox.Show("将要关闭窗口,是否继续?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes){e.Cancel=false;CloseCamera();Application.Exit();}else{e.Cancel = true;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【苍穹外卖】学习

软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程&#xff0c; 以及软件开发过程中涉及到的岗位角色&#xff0c;角色的分工、职责&#xff0c; 并了解软件开发中涉及到的三种软件环境。那么这一小节&#xff0c;我们将从 软件开发流程、角色…

yanshee机器人初次使用说明(备注)-PyCharm

准备 需要&#xff1a; 1&#xff0c;&#xff08;优必选&#xff09;yanshee机器人Yanshee 开发者说明 2&#xff0c;手机-联网简单操控 / HDMI线与显示器和键鼠标-图形化开发环境 / 笔记本&#xff08;VNC-内置图形化开发环境/PyCharm等平台&#xff09;。 3&#xff0c;P…

#渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

时间序列分析(四)——差分运算、延迟算子、AR(p)模型

此前篇章&#xff1a; 时间序列分析&#xff08;一&#xff09;——基础概念篇 时间序列分析&#xff08;二&#xff09;——平稳性检验 时间序列分析&#xff08;三&#xff09;——白噪声检验 一、差分运算 差分运算的定义&#xff1a;差分运算是一种将非平稳时间序列转换…

信息收集-Web应用JS架构URL提取数据匹配Fuzz接口WebPack分析自动化

知识点&#xff1a; 1、信息收集-Web应用-JS提取分析-人工&插件&项目 2、信息收集-Web应用-JS提取分析-URL&配置&逻辑 FUZZ测试 ffuf https://github.com/ffuf/ffuf 匹配插件 Hae https://github.com/gh0stkey/HaE JS提取 JSFinder https://github.com/Threez…

SQL Server 导入Excel数据

1、选中指定要导入到哪个数据库&#xff0c;右键选择 》任务 》导入数据 2、数据源 选择Excel&#xff0c;点击 下一步(Next) 3、目前 选择OLE DB Provider &#xff0c;点击 下一步&#xff08;Next&#xff09; 4、默认 &#xff0c;点击 下一步&#xff08;Next&#xff09;…

我的新书《青少年Python趣学编程(微课视频版)》出版了!

&#x1f389; 激动人心的时刻来临啦&#xff01; &#x1f389; 小伙伴们久等了&#xff0c;我的第一本新书 《青少年Python趣学编程&#xff08;微课视频版&#xff09;》 正式出版啦&#xff01; &#x1f4da;✨ 在这个AI时代&#xff0c;市面上的Python书籍常常过于枯燥&…

大模型应用开发书籍推荐

在AI原生应用的探索之路上&#xff0c;大语言模型与提示工程面临着诸多挑战。一方面&#xff0c;过度乐观的预期让开发者陷入困境&#xff1b;另一方面&#xff0c;大语言模型在效果、性能等方面的局限也限制了其应用。本书作者作为一线从业者&#xff0c;深感驾驭大模型的重要…

基于CANopen协议的同步控制和PDO消息传输

这个VI示例展示了如何通过SYNC帧触发发送和接收PDO&#xff08;Process Data Object&#xff09;消息。它涉及的步骤包括配置CANopen接口、设定通信参数、并通过SYNC信号同步多个设备的消息传输。下面是详细说明&#xff1a; ​ 1. 右键点击BatchSDO选择部署 在NI CANopen for…

vtkCamera类的Dolly函数作用及相机拉近拉远

录 1. 预备知识 1.1.相机焦点 2. vtkCamera类的Dolly函数作用 3. 附加说明 1. 预备知识 要理解vtkCamera类的Dolly函数作用,就必须先了解vtkCamera类表示的相机的各种属性。  VTK是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如…

领域驱动设计(DDD)是什么?——从理论到实践的全方位解析

文章目录 一、 引言二、 核心概念与定位2.1 DDD 定义与核心理念2.2 DDD 关键元素 三、 底层原理与技术细节3.1 领域模型与普适语言3.1.1 领域模型3.1.2 普适语言&#xff08;Ubiquitous Language&#xff09; 3.2 战术设计模式详解3.2.1 实体、值对象、聚合与领域服务3.2.2 无状…

领域驱动设计叕创新,平安保险申请DDD专利

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 见下图&#xff1a; 这个名字拼得妙&#xff1a;领域驱动设计模式。 是领域驱动设计&#xff1f;还是设计模式&#xff1f;还是领域驱动设计设计模式&#xff1f;和下面这个知乎文章的…

2025冠珠瓷砖全国开门红启动大会顺利召开

新年伊始&#xff0c;战鼓催征&#xff01;2月11日上午&#xff0c;“开年焕新 家倍幸运”为主题的2025冠珠瓷砖全国开门红启动大会在品牌总部会议室成功举行。新明珠集团副总经理、冠珠瓷砖品牌总经理潘瀚&#xff0c;冠珠瓷砖品牌副总经理曾小泉等领导&#xff0c;以及冠珠瓷…

基于Qt 和微信小程序的用户管理系统:WebSocket + SQLite 实现注册与登录

目录 一. 概要 二. 技术栈 三. 系统功能设计 3.1 功能模块 3.2 数据表设计 四. 具体实现 4.1 Qt 服务端 4.1.1 初始化 WebSocket 服务器 4.1.2 用户管理界面 4.2 微信小程序端 4.2.1 注册功能 4.2.2 登录功能 五. 运行效果 六. 源码下载 一. 概要 在物联网和智能设备…

C++17中`std::map`和`std::set`的`extract`与`merge`操作

文章目录 1. extract操作使用方法内部机制 2. merge操作使用方法特点 3. 性能优势4. 实际应用场景5. 总结 在C17标准中&#xff0c; std::map和 std::set这两个关联容器引入了两个极具实用价值的新特性&#xff1a; extract和 merge。这两个操作极大地增强了关联容器在处理…

当时只道是寻常

晴&#xff0c;2025年2月16日 卸载了油管、脸书和 X 手机 app &#xff0c;太浪费我时间&#xff0c;以后再去经营吧。 教学技能大赛材料需要在明天之内搞定——《教学实施方案》。感觉玄&#xff0c;同部门有经验的老师说至少花一周时间。 只能明天早点继续接着弄&#xff…

vue-谷歌浏览器安装vue-devtools插件

文章目录 一、谷歌浏览器安装vue-devtools1.1、方式一&#xff1a;直接下载crx并安装 本文讲解谷歌浏览器安装vue-devtools插件的步骤。 注意&#xff1a;以下vue-devtools插件都是vue2版本的。 一、谷歌浏览器安装vue-devtools 1.1、方式一&#xff1a;直接下载crx并安装 …

Hami项目开发笔记

如果还不了解hami&#xff0c;请阅读文章&#xff1a;hami入门学习 Hami提供了两个维度的监控能力&#xff0c;集群级别和节点级别&#xff0c;以及Pod真实占用的GPU和虚拟分配的GPU。 {scheduler node ip}:31993/metrics records the snapshot of allocated devices, includi…

机器学习 - 理论和定理

在机器学习中&#xff0c;有一些非常有名的理论或定理&#xff0c;对理解机器学习的内在特性非常有帮助。本文列出机器学习中常用的理论和定理&#xff0c;并举出对应的举例子加以深化理解&#xff0c;有些理论比较抽象&#xff0c;我们可以先记录下来&#xff0c;慢慢啃&#…

【devops】Github Actions Secrets | 如何在Github中设置CI的Secret供CI的yaml使用

一、Github Actions 1、ci.yml name: CIon: [ push ]jobs:build:runs-on: ubuntu-lateststeps:- name: Checkout codeuses: actions/checkoutv3- name: Set up Gouses: actions/setup-gov4with:go-version: 1.23.0- name: Cache Go modulesuses: actions/cachev3with:path: |…